我需要为测试库制作不同的风格。为什么?好吧,我希望项目得到完全保护,所以我想始终启用缩小功能(即使对于调试构建类型)。
在进行测试时,我使用项目中的不同类,
所以我决定使用flavor来更改proguard文件。它看起来像这样:
android {
...
buildTypes {
release {
minifyEnabled true
testProguardFile 'test-proguard-rules.pro'
}
debug {
minifyEnabled true
testProguardFile 'test-proguard-rules.pro'
}
}
...
productFlavors{
forTest{
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules1.pro', 'debug-rules.pro'
}
forRelease{
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro', 'debug-rules.pro'
}
}
}
和 proguard-rules* 文件
混淆规则:
-dontwarn blablabla.**
-dontwarn blabla.**
-keep class bla.** { *; }
混淆器规则1:
-dontshrink
-dontobfuscate
-dontwarn
但这对我没有帮助。我想在没有混淆的情况下运行测试。 Flavors 没有 minifyEnabled 这样的参数,所以我尝试找到任何解决方案。那么关于解决问题有什么建议吗?可能有人遇到同样的问题并找到另一种解决方案(不使用口味)?
经过一整天的研究,我发现了以下作品:
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
flavorA {
applicationIdSuffix ".a"
proguardFile 'flavorA_rules.pro'
}
flavorB {
applicationIdSuffix ".b"
}
}
更多信息:包括附加配置 https://developer.android.com/studio/build/shrink-code#add-configuration
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)