Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如果调用了”;在安卓工作室_Android_Gradle_Android Studio_Proguard - Fatal编程技术网

Android 如果调用了”;在安卓工作室

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

看到了至少两个类似的问题,但都考虑了eclipse非gradle构建

我正在尝试使用gradle组装发行版:

./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将执行所有优化,但垂直合并类和水平合并类的优化除外