仅对某些包或我的文件启用 minifyEnabled
minifyEnabled for certain package or my files only
我正在编写一个 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.*
的 类 都被排除在缩小和混淆之外。
我正在编写一个 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.*
的 类 都被排除在缩小和混淆之外。