1

最近、このエラーが発生しますが、Android 4.4 より古いデバイスでのみ発生します。

 java.lang.ExceptionInInitializerError
            at java.lang.Class.classForName(Native Method)
            at java.lang.Class.forName(Class.java:217)
            at com.orm.util.ReflectionUtil.getDomainClass(ReflectionUtil.java:273)
            at com.orm.util.ReflectionUtil.getDomainClasses(ReflectionUtil.java:257)
            at com.orm.SchemaGenerator.createDatabase(SchemaGenerator.java:37)
            at com.orm.SugarDb.onCreate(SugarDb.java:26)
            at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:252)
            at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:164)
            at com.orm.SugarDb.getDB(SugarDb.java:36)
            at com.orm.SugarRecord.find(SugarRecord.java:194)
            at com.orm.SugarRecord.listAll(SugarRecord.java:99)
            at co.getcontrol.service.AccountsService.getAnyAccount(AccountsService.java:142)
            at co.getcontrol.ui.MainActivity.onCreate(MainActivity.java:191)
            at android.app.Activity.performCreate(Activity.java:5244)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1082)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2034)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2095)
            at android.app.ActivityThread.access$600(ActivityThread.java:135)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1201)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4849)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.Error
            at com.timgroup.jgravatar.internal.com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator$1.run(UnsignedBytes.java:259)
            at java.security.AccessController.doPrivileged(AccessController.java:45)
            at com.timgroup.jgravatar.internal.com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator.<clinit>(UnsignedBytes.java:248)
            at java.lang.Class.classForName(Native Method)
            at java.lang.Class.forName(Class.java:217)
            at com.orm.util.ReflectionUtil.getDomainClass(ReflectionUtil.java:273)
            at com.orm.util.ReflectionUtil.getDomainClasses(ReflectionUtil.java:257)
            at com.orm.SchemaGenerator.createDatabase(SchemaGenerator.java:37)
            at com.orm.SugarDb.onCreate(SugarDb.java:26)
            at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:252)
            at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:164)
            at com.orm.SugarDb.getDB(SugarDb.java:36)
            at com.orm.SugarRecord.find(SugarRecord.java:194)
            at com.orm.SugarRecord.listAll(SugarRecord.java:99)
            at co.getcontrol.service.AccountsService.getAnyAccount(AccountsService.java:142)
            at co.getcontrol.ui.MainActivity.onCreate(MainActivity.java:191)
            at android.app.Activity.performCreate(Activity.java:5244)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1082)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2034)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2095)
            at android.app.ActivityThread.access$600(ActivityThread.java:135)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1201)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4849)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
            at dalvik.system.NativeStart.main(Native Method)

ご覧のとおり、SugarDb があります。これは完全に私のプロジェクトではなく、Sugar がどのようにプロジェクトに追加されたのかわかりません。gradle にはそのような依存関係はなく、フォルダには extern ライブラリがありません。さらに、エラー ログに jgravatar ライブラリがあることがわかります。しかし、jgravatar オブジェクトがない場所でアプリがクラッシュします。後で他のアクティビティで使用されます。

コードは他のデバイスでも機能するため、ライブラリに何か問題があると思います。

4

1 に答える 1

0

解決策を見つけました。問題は jgravatar ライブラリでした。私はそれをgravatar-androidに変更しましたが、今では再び動作します

于 2015-11-15T16:18:47.600 に答える