Android 如果调用了”;在安卓工作室
看到了至少两个类似的问题,但都考虑了eclipse非gradle构建 我正在尝试使用gradle组装发行版:Android 如果调用了”;在安卓工作室,android,gradle,android-studio,proguard,Android,Gradle,Android Studio,Proguard,看到了至少两个类似的问题,但都考虑了eclipse非gradle构建 我正在尝试使用gradle组装发行版: ./gradlew myapp:assembleRelease --stacktrace 除了最新的Google proguard示例外,我的proguard.txt还包含: # ButterKnife -keep class *$$ViewInjector{} -dontwarn butterknife.Views$InjectViewProcessor -dontwarn butt
./gradlew myapp:assembleRelease --stacktrace
除了最新的Google proguard示例外,我的proguard.txt还包含:
# ButterKnife
-keep class *$$ViewInjector{}
-dontwarn butterknife.Views$InjectViewProcessor
-dontwarn butterknife.internal.**
#JodaTime
-dontwarn org.joda.time.**
#Apache
-dontnote org.apache.**
-dontwarn org.apache.**
这似乎消除了所有的警告,但现在正在与神秘的
Caused by: java.lang.UnsupportedOperationException: Method must be overridden in [proguard.optimize.peephole.ClassMerger] if ever called
…我不知道这是什么意思。我也有同样的问题,但从未发现问题的根源。我确实发现,如果在proguard文件中添加一条跳过优化的规则,它会阻止生成错误的发生
-dontoptimize
以下是这3个库的正确proguard配置:
# ButterKnife
-dontwarn butterknife.internal.**
-keep class **$$ViewInjector { *; }
-keepnames class * { @butterknife.InjectView *;}
#JodaTime
-dontwarn org.joda.time.**
#Apache
-keep public class org.apache.commons.io.**
-keep class org.apache.** { *; }
-dontnote org.apache.**
-dontwarn org.apache.**
不确定它是否是gradle更新,但这种情况不再发生了
-dontoptimize
指定不优化输入类文件,我是
不确定禁用优化是否是一个好主意,最好是禁用优化
启用或禁用单个优化
在您的情况下,您可以使用-optimizations
optimization\u filter
-optimizations !class/merging/vertical*,!class/merging/horizontal*
Proguard将执行所有优化,但垂直合并类和水平合并类的优化除外