我为我的发布版本启用了proguard,当我运行项目时,我得到these warnings and errors。这是我的buildTypes
块:
buildTypes {
release {
minifyEnabled true
//shrinkResources true
signingConfig signingConfigs.myConfig
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
构建消息太长,无法在此处发布,因此请设置外部链接。 这些警告的原因是什么?有什么我做错了吗?我该如何解决这个问题?
答案 0 :(得分:1)
警告中提到的每个图书馆都有'您必须在proguard-rules.pro中添加自己的程序规则。例如,您可以在http://jakewharton.github.io/butterknife/" Proguard"找到ButterKnife的规则。部分。
答案 1 :(得分:1)
对于您正在使用的任何外部库,您需要在proguard.pro文件中添加规则。
例如在我的项目中,这些是我为改造和okhttp添加的proguard规则
# Retrofit 1.X
-keep class com.squareup.okhttp.** { *; }
-keep class retrofit.** { *; }
-keep interface com.squareup.okhttp.** { *; }
-dontwarn com.squareup.okhttp.**
-dontwarn okio.**
-dontwarn retrofit.**
-dontwarn rx.**
-keepclasseswithmembers class * {
@retrofit.http.* <methods>;
}
这些规则取自
所以你需要为每个库检查一下要添加的规则。