我有一些模型要在我的代码中进行混淆处理。我知道我可以忽略整个模型包,但我不想这样做。我尝试了一些 proguard 调整并检查了所有相关帖子,但无济于事。ORMlite 不断投掷java.lang.RuntimeException: Unable to create application ...App: java.lang.IllegalArgumentException: Foreign field class ....f.p does not have id field
。我用dex2jar和jd检查了注释是否仍然存在,并且它仍然存在。
我有这个 proguard 配置(以及更多混淆其他部分的配置):
侵略性的东西:
-mergeinterfacesaggressively
-allowaccessmodification
-optimizationpasses 5
-verbose
-dontskipnonpubliclibraryclasses
-dontpreverify
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
保留各种框架所需的信息:
-keepattributes *Annotation*
-keepattributes Signature
-keepattributes EnclosingMethod
ORMLITE相关:
-keep class com.j256.**
-keepclassmembers class com.j256.** { *; }
-keep enum com.j256.**
-keepclassmembers enum com.j256.** { *; }
-keep interface com.j256.**
-keepclassmembers interface com.j256.** { *; }
我错过了什么或者这不可能吗?