使用 Proguard 的 Android 库问题
Issue with Android Library with Proguard
我正在开发一个 android 库项目,在没有 ProGuard 的情况下编译它。
当我在项目中使用该库时,没有出现任何错误,构建成功。
但是,当使用 ProGuard 编译库并在项目中使用它后,我在尝试构建项目时遇到错误。
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=gasp
Exception in thread "main" java.lang.IllegalStateException: Expected a load for Lcom/yuwee/sdk/YuWeeCallActivity; to set up parameter 0 for com/yuwee/sdk/YuWeeCallActivity$$Lambda but got -1
at com.google.common.base.Preconditions.checkState(Preconditions.java:756)
at com.google.devtools.build.android.desugar.LambdaDesugaring$InvokedynamicRewriter.attemptAllocationBeforeArgumentLoads(LambdaDesugaring.java:543)
at com.google.devtools.build.android.desugar.LambdaDesugaring$InvokedynamicRewriter.visitInvokeDynamicInsn(LambdaDesugaring.java:427)
at org.objectweb.asm.ClassReader.readCode(ClassReader.java:1623)
at org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1126)
at org.objectweb.asm.ClassReader.accept(ClassReader.java:698)
at org.objectweb.asm.ClassReader.accept(ClassReader.java:500)
at com.google.devtools.build.android.desugar.Desugar.desugarClassesInInput(Desugar.java:477)
at com.google.devtools.build.android.desugar.Desugar.desugarOneInput(Desugar.java:361)
at com.google.devtools.build.android.desugar.Desugar.desugar(Desugar.java:314)
at com.google.devtools.build.android.desugar.Desugar.main(Desugar.java:711)
:app:transformClassesWithDesugarForDebug 失败
失败:构建失败,出现异常。
- 出了什么问题:
任务 ':app:transformClassesWithDesugarForDebug' 执行失败。
com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: Error while executing java process with main class com.google.devtools.build.android.desugar.Desugar with arguments {--input /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/43.jar --output /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/desugar/debug/13.jar --input /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/0.jar --output /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/desugar/debug/1.jar --input /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/41.jar --output /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/desugar/debug/11.jar --input /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/54.jar --output /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/desugar/debug/24.jar --input /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/32.jar --output /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/desugar/debug/2.jar --input /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/44.jar --output /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/desugar/debug/14.jar --input /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/48.jar --output /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/desugar/debug/18.jar --input /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/34.jar --output /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/desugar/debug/4.jar --input /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/49.jar --output /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/desugar/debug/19.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/classes/debug --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/0.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/32.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/33.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/34.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/35.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/36.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/37.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/38.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/39.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/40.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/41.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/42.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/43.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/44.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/45.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/46.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/47.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/48.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/49.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/50.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/51.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/52.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/53.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/54.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/55.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/56.jar --bootclasspath_entry /home/tanay/Android/Sdk/platforms/android-27/android.jar --bootclasspath_entry /home/tanay/Android/Sdk/platforms/android-27/optional/org.apache.http.legacy.jar --bootclasspath_entry /home/tanay/Android/android-studio/jre/jre/lib/resources.jar --bootclasspath_entry /home/tanay/Android/android-studio/jre/jre/lib/rt.jar --bootclasspath_entry /home/tanay/Android/android-studio/jre/jre/lib/jsse.jar --bootclasspath_entry /home/tanay/Android/android-studio/jre/jre/lib/jce.jar --bootclasspath_entry /home/tanay/Android/android-studio/jre/jre/lib/charsets.jar --min_sdk_version 16 --desugar_try_with_resources_if_needed --desugar_try_with_resources_omit_runtime_classes --legacy_jacoco_fix}
在 proguard-rules.pro 文件的末尾添加 -ignorewarnings
,您可以在 Gradle Scripts
下找到
从库项目的 build.gradle.
移除 Java 1.8 支持后问题解决
我正在开发一个 android 库项目,在没有 ProGuard 的情况下编译它。
当我在项目中使用该库时,没有出现任何错误,构建成功。
但是,当使用 ProGuard 编译库并在项目中使用它后,我在尝试构建项目时遇到错误。
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=gasp Exception in thread "main" java.lang.IllegalStateException: Expected a load for Lcom/yuwee/sdk/YuWeeCallActivity; to set up parameter 0 for com/yuwee/sdk/YuWeeCallActivity$$Lambda but got -1 at com.google.common.base.Preconditions.checkState(Preconditions.java:756) at com.google.devtools.build.android.desugar.LambdaDesugaring$InvokedynamicRewriter.attemptAllocationBeforeArgumentLoads(LambdaDesugaring.java:543) at com.google.devtools.build.android.desugar.LambdaDesugaring$InvokedynamicRewriter.visitInvokeDynamicInsn(LambdaDesugaring.java:427) at org.objectweb.asm.ClassReader.readCode(ClassReader.java:1623) at org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1126) at org.objectweb.asm.ClassReader.accept(ClassReader.java:698) at org.objectweb.asm.ClassReader.accept(ClassReader.java:500) at com.google.devtools.build.android.desugar.Desugar.desugarClassesInInput(Desugar.java:477) at com.google.devtools.build.android.desugar.Desugar.desugarOneInput(Desugar.java:361) at com.google.devtools.build.android.desugar.Desugar.desugar(Desugar.java:314) at com.google.devtools.build.android.desugar.Desugar.main(Desugar.java:711)
:app:transformClassesWithDesugarForDebug 失败
失败:构建失败,出现异常。
- 出了什么问题:
任务 ':app:transformClassesWithDesugarForDebug' 执行失败。
com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: Error while executing java process with main class com.google.devtools.build.android.desugar.Desugar with arguments {--input /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/43.jar --output /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/desugar/debug/13.jar --input /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/0.jar --output /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/desugar/debug/1.jar --input /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/41.jar --output /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/desugar/debug/11.jar --input /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/54.jar --output /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/desugar/debug/24.jar --input /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/32.jar --output /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/desugar/debug/2.jar --input /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/44.jar --output /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/desugar/debug/14.jar --input /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/48.jar --output /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/desugar/debug/18.jar --input /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/34.jar --output /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/desugar/debug/4.jar --input /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/49.jar --output /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/desugar/debug/19.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/classes/debug --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/0.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/32.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/33.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/34.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/35.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/36.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/37.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/38.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/39.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/40.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/41.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/42.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/43.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/44.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/45.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/46.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/47.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/48.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/49.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/50.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/51.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/52.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/53.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/54.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/55.jar --classpath_entry /media/tanay/New Volume/Projects/Office/TestYuWeeDepen/app/build/intermediates/transforms/stackFramesFixer/debug/56.jar --bootclasspath_entry /home/tanay/Android/Sdk/platforms/android-27/android.jar --bootclasspath_entry /home/tanay/Android/Sdk/platforms/android-27/optional/org.apache.http.legacy.jar --bootclasspath_entry /home/tanay/Android/android-studio/jre/jre/lib/resources.jar --bootclasspath_entry /home/tanay/Android/android-studio/jre/jre/lib/rt.jar --bootclasspath_entry /home/tanay/Android/android-studio/jre/jre/lib/jsse.jar --bootclasspath_entry /home/tanay/Android/android-studio/jre/jre/lib/jce.jar --bootclasspath_entry /home/tanay/Android/android-studio/jre/jre/lib/charsets.jar --min_sdk_version 16 --desugar_try_with_resources_if_needed --desugar_try_with_resources_omit_runtime_classes --legacy_jacoco_fix}
在 proguard-rules.pro 文件的末尾添加 -ignorewarnings
,您可以在 Gradle Scripts
从库项目的 build.gradle.
移除 Java 1.8 支持后问题解决