我正在编写一个 android 项目,并尝试编译它以供发布。 在我的项目中,我使用了 3rd 方项目,例如 couchbase-lite。
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
我想在gradle中使用minifyEnabled=true,但是签名的APK运行失败, 这似乎是 couchbase 使用反射并未能找到其中一个属性的问题...
- 有没有办法将 gradle 配置为仅在我的项目文件上启用 minifyEnabled?
- 我可以将它配置为仅对某些包启用 minifyEnabled 吗?
谢谢!
最佳答案
您可以使用 Proguard 配置文件中的 -keep
规则排除使用反射并可能在运行时引起问题的类。
-keep public class com.example.somepackage.*
使用上面的规则,所有匹配 public class com.example.somepackage.*
的类都被排除在缩小和混淆之外。
关于java - 仅对某些包或我的文件启用 minifyEnabled,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33698526/