j256 / ormlite-android

ORMLite Android functionality used in conjunction with ormlite-core
http://ormlite.com/
ISC License
1.59k stars 367 forks source link

ExceptionInInitializerError #70

Closed gao746700783 closed 6 years ago

gao746700783 commented 8 years ago

i have a problem which makes my app crashes as below: java.lang.ExceptionInInitializerError at com.j256.ormlite.db.SqliteAndroidDatabaseType.a(SqliteAndroidDatabaseType.java:76) at com.j256.ormlite.dao.DaoManager.a(DaoManager.java:67) at com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper.getDao(OrmLiteSqliteOpenHelper.java:279) at com.elitech.core.db.DatabaseHelper.getDao(DatabaseHelper.java:103) at com.elitech.dicos.view.fragment.MsgTabFragment$TaskThread.run(MsgTabFragment.java:307) Caused by: java.lang.IllegalStateException: Could not find support for DatabaseField A at com.j256.ormlite.android.DatabaseTableConfigUtil.a(DatabaseTableConfigUtil.java:225) at com.j256.ormlite.android.DatabaseTableConfigUtil.a(DatabaseTableConfigUtil.java:120) at com.j256.ormlite.android.DatabaseTableConfigUtil.(DatabaseTableConfigUtil.java:38) ... 5 more

gao746700783 commented 8 years ago

i noticed that ,when i run released apk,it just happens,but the debug apk doesn't; and the diff. is about the proguard options,so,this exception may happens here,i will try

gao746700783 commented 8 years ago

proguard-rules.pro files like this:

``

OrmLite uses reflection

-keep class com.j256.* -keepclassmembers class com.j256.* { ; } -keep enum com.j256. -keepclassmembers enum com.j256.* { ; } -keep interface com.j256. -keepclassmembers interface com.j256.* { *; }

-keepattributes Annotation

-keepclassmembers class * { @com.j256.ormlite.field.DatabaseField *; }

-keepattributes Signature``

it still doesn't work,crashes all the time,but when i change jar version from 4.48 to 5.0 ,the crash disappears;

j256 commented 6 years ago

I'm going to mark this as fixed. Feel free to reopen.