当我开始使用greenDAO for Android时,这个问题已经发生了几个月。 在我的应用程序中,我有proguard并且已经在greenDAO FAQ中建议了更改
-keepclassmembers class * extends de.greenrobot.dao.AbstractDao {
public static java.lang.String TABLENAME;
}
-keep class **$Properties
另外,我已尝试在此Google group discussion
中发布了一些替代方案但我仍然像这样崩溃
Caused by: java.lang.NoSuchFieldException: TABLENAME
at java.lang.Class.getField(Class.java:1104)
at de.greenrobot.dao.internal.DaoConfig.(DaoConfig.java:56)
at de.greenrobot.dao.AbstractDaoMaster.registerDaoClass(AbstractDaoMaster.java:44)
有趣的是,这次崩溃只发生在三星设备上。最常见的是在Lollipop。
有人和我有同样的问题吗?
答案 0 :(得分:3)
1
-libraryjars libs/greendao-1.3.7.jar
-keep class de.greenrobot.dao.** {*;}
#保持greenDao的方法不被混淆
-keepclassmembers class * extends de.greenrobot.dao.AbstractDao {
#用来保持生成的表名不被混淆
public static java.lang.String TABLENAME; }
-keep class **$Properties
2。也许你应该添加一些常见的保留规则