当我开始为 Android 使用 greenDAO 时,这个问题已经发生了几个月。 在我的应用程序中,我有 proguard 并且已经进行了 greenDAO 常见问题解答中建议的更改
-keepclassmembers class * extends de.greenrobot.dao.AbstractDao {
public static java.lang.String TABLENAME;
}
-保持类 **$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。
有人遇到和我一样的问题吗?
最佳答案
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。也许你还没有添加一些通用的保留规则
关于android - 带有混淆器的 GreenDAO : NoSuchFieldException: TABLENAME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33260226/