Android和ICU 5.0
我开始在我的Android项目中使用ICU4J。 但是当我在设备上运行项目时,发生崩溃。 这是错误:
FATAL EXCEPTION: main
java.lang.ExceptionInInitializerError
at com.ibm.icu.text.SimpleDateFormat.<clinit>(SimpleDateFormat.java:849)
at com.ibm.icu.text.DateFormat.get(DateFormat.java:1492)
at com.ibm.icu.text.DateFormat.getDateInstance(DateFormat.java:1191)
at com.phonedev.myApp.calendar.TimeCursor.getLongDate(TimeCursor.java:333)
at com.phonedev.myApp.about.VersionInfo.getBuildDateTime(VersionInfo.java:44)
at com.phonedev.myApp.myAppActivity.onCreate(myAppActivity.java:184)
at android.app.Activity.performCreate(Activity.java:5133)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.util.MissingResourceException: Could not find the bundle com/ibm/icu/impl/data/icudt50b/en_US
at com.ibm.icu.impl.ResourceBundleWrapper.getBundleInstance(ResourceBundleWrapper.java:109)
at com.ibm.icu.util.UResourceBundle.instantiateBundle(UResourceBundle.java:573)
at com.ibm.icu.util.UResourceBundle.getBundleInstance(UResourceBundle.java:145)
at com.ibm.icu.util.UResourceBundle.getBundleInstance(UResourceBundle.java:228)
at com.ibm.icu.impl.CalendarData.<init>(CalendarData.java:28)
at com.ibm.icu.util.Calendar.setWeekData(Calendar.java:4604)
at com.ibm.icu.util.Calendar.<init>(Calendar.java:1584)
at com.ibm.icu.util.GregorianCalendar.<init>(GregorianCalendar.java:391)
at com.ibm.icu.util.GregorianCalendar.<init>(GregorianCalendar.java:337)
at com.ibm.icu.text.DateFormat$Field.<clinit>(DateFormat.java:1787)
... 20 more
似乎ICU的源代码需要更多的文件,但我添加了我在jar中找到的所有源代码......如果有人遇到同样的问题或者只是有解决方案......谢谢!
编辑:刚刚有这些警告:
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b_root'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b_en'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b_en_US'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b_zoneinfo64'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b_en'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b_en_US'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b_supplementalData'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b_en'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b_en_US'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b_res'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b_en'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b_en_US'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b_res_index'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b_@calendar=gregorian'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b_en'
dvmFindClassByName rejecting 'com/ibm/icu/impl/data/icudt50b_en_US'
threadid=11: thread exiting with uncaught exception (group=0x4176a700)
好吧,我想出了这个问题的答案。 显然,你不能只下载ICU的完整的.jar文件,只需将其放入。它不包含数据文件。
你必须 :
如果在他们的网站的某个地方解释了这个问题,或者他们实际上提供了一个包含数据文件的.jar文件,会有帮助。 这导致了长达一天头痛,希望这可以帮助别人。
链接地址: http://www.djcxy.com/p/73251.html上一篇: Android and ICU 5.0