我正在使用android studio来构建调试和发布应用程序。 当我构建调试/发布应用程序时
./gradlew assembleDebug
./gradlew assembleRelease
这两个版本都可以完美地创建并运行。显示调试或发布的相应对话框
现在我在build.gradle中添加了proguard详细信息:
signingConfigs {
myConfig {
storeFile file("keystore.jks")
storePassword "abc123!"
keyAlias "androidreleasekey"
keyPassword "pqrs123!"
}
}
buildTypes {
release {
runProguard true
proguardFile getDefaultProguardFile('proguard-android-optimize.txt')
signingConfig signingConfigs.myConfig
}
}
productFlavors {
defaultFlavor {
proguardFile 'proguard-rules.txt'
}
}
现在它在事件日志中显示错误为
警告:有7个未解析的类或接口引用。 您可能需要添加缺少的库jar或更新其版本。 如果您的代码工作正常而没有丢失的类,则可以禁止 '-dontwarn'选项的警告。 (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)
警告:程序类成员有2个未解析的引用。 您的输入类似乎不一致。 您可能需要重新编译代码。
(http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedprogramclassmember) :Flash销售:proguardDefaultFlavorRelease FAILED
如果我将runProguard选项设置为false,则将其运行。
我有这些问题:
1)用runProguard = false发布apk是否可以?
2)如何在创建发布版本时使用dontwarn?
答案 0 :(得分:27)
当我向项目中添加新的lib时通常这我需要为Progaurd定义。
假设我使用的是Twitter4J lib,然后我就这样添加了dwiwarn。
-keep class twitter4j。* {*; }
-dontwarn twitter4j。*
答案 1 :(得分:0)
将-dontwarn行放入proguard-rules.pro或proguard-rules.txt文件中。
由于没有答案包含此信息,因此不得不在其他地方使用Google。查看其他答案以了解您所需的具体情况。