proguard - proguard IllegalArgumentException
问题描述
尝试构建我的应用程序的发布版本。它出现了一个错误,说
Caused by: java.io.IOException: java.lang.RuntimeException: java.lang.IllegalArgumentException: Value "a" is not an integer value [proguard.evaluation.value.UnknownReferenceValue]
我在这里看到了一个类似的案例: https ://sourceforge.net/p/proguard/bugs/573/
我已经添加了-optimizations !class/unbosing/enum
,但错误仍然显示没有变化。也许我在proguard-rules中遗漏了其他东西?
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !class/unboxing/enum
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService
-keep class android.support.v4.** { *; }
-keep public class * extends android.support.v4.**
-keep public class * extends android.app.Fragment
-keep class android.support.v8.renderscript.** { *; }
-dontwarn android.support.**
-dontobfuscate
-keep public class com.google.android.gms.** { public *; }
-dontwarn com.google.android.gms.**
-dontwarn okio.**
-dontwarn retrofit2.Platform$Java8
# Keep all things of data model classes
-keep public class com.hotmob.sdk.model.** { *; }
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keepclassmembers class * extends java.lang.Enum {
<fields>;
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-keep class MyClass;
-Adagger.android.experimentalUseStringKeys
# gson
-keepattributes Signature
-keepattributes *Annotation*
-keep class sun.misc.Unsafe { *; }
# android-saripaar
-keep class com.mobsandgeeks.saripaar.** { *; }
-keep @com.mobsandgeeks.saripaar.annotation.ValidateUsing class * { *; }
# loading icon
-keep class com.wang.avi.** { *; }
-keep class com.wang.avi.indicators.** { *; }
这是显示的错误
Optimizing (pass 1/5)...
> Task :app:transformClassesAndResourcesWithProguardForRelease
Unexpected error while evaluating instruction:
Class = [kotlin/reflect/jvm/internal/impl/load/java/lazy/descriptors/LazyJavaPackageScope$classes$1]
Method = [invoke(Lkotlin/reflect/jvm/internal/impl/load/java/lazy/descriptors/LazyJavaPackageScope$FindClassRequest;)Lkotlin/reflect/jvm/internal/impl/descriptors/ClassDescriptor;]
Instruction = [311] ificmpne +113 (target=424)
Exception = [java.lang.IllegalArgumentException] (Value "a" is not an integer value [proguard.evaluation.value.UnknownReferenceValue])
Unexpected error while performing partial evaluation:
Class = [kotlin/reflect/jvm/internal/impl/load/java/lazy/descriptors/LazyJavaPackageScope$classes$1]
Method = [invoke(Lkotlin/reflect/jvm/internal/impl/load/java/lazy/descriptors/LazyJavaPackageScope$FindClassRequest;)Lkotlin/reflect/jvm/internal/impl/descriptors/ClassDescriptor;]
Exception = [java.lang.IllegalArgumentException] (Value "a" is not an integer value [proguard.evaluation.value.UnknownReferenceValue])
Warning: Exception while processing task java.io.IOException: java.lang.RuntimeException: java.lang.IllegalArgumentException: Value "a" is not an integer value [proguard.evaluation.value.UnknownReferenceValue]
Thread(Tasks limiter_2): destruction
> Task :app:transformClassesAndResourcesWithProguardForRelease FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'.
> Job failed, see logs for details
stacktrack 调试显示几乎相同
19:04:39.831 [ERROR] [system.err] Unexpected error while evaluating instruction:
19:04:39.831 [ERROR] [system.err] Class = [kotlin/reflect/jvm/internal/impl/load/java/lazy/descriptors/LazyJavaPackageScope$classes$1]
19:04:39.832 [ERROR] [system.err] Method = [invoke(Lkotlin/reflect/jvm/internal/impl/load/java/lazy/descriptors/LazyJavaPackageScope$FindClassRequest;)Lkotlin/reflect/jvm/internal/impl/descriptors/ClassDescriptor;]
19:04:39.833 [ERROR] [system.err] Instruction = [311] ificmpne +113 (target=424)
19:04:39.833 [ERROR] [system.err] Exception = [java.lang.IllegalArgumentException] (Value "a" is not an integer value [proguard.evaluation.value.UnknownReferenceValue])
19:04:39.834 [ERROR] [system.err] Unexpected error while performing partial evaluation:
19:04:39.834 [ERROR] [system.err] Class = [kotlin/reflect/jvm/internal/impl/load/java/lazy/descriptors/LazyJavaPackageScope$classes$1]
19:04:39.834 [ERROR] [system.err] Method = [invoke(Lkotlin/reflect/jvm/internal/impl/load/java/lazy/descriptors/LazyJavaPackageScope$FindClassRequest;)Lkotlin/reflect/jvm/internal/impl/descriptors/ClassDescriptor;]
19:04:39.834 [ERROR] [system.err] Exception = [java.lang.IllegalArgumentException] (Value "a" is not an integer value [proguard.evaluation.value.UnknownReferenceValue])
19:04:40.541 [QUIET] [system.out] Warning: Exception while processing task java.io.IOException: java.lang.RuntimeException: java.lang.IllegalArgumentException: Value "a" is not an integer value [proguard.evaluation.value.UnknownReferenceValue]
19:04:40.550 [QUIET] [system.out] Thread(Tasks limiter_1): destruction
19:03:00.186 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger]
19:03:00.186 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger] > Task :app:transformClassesAndResourcesWithProguardForRelease
19:04:40.550 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Execute transform for :app:transformClassesAndResourcesWithProguardForRelease'
19:04:40.551 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Execute transform for :app:transformClassesAndResourcesWithProguardForRelease' completed
19:04:40.551 [DEBUG] [org.gradle.api.internal.tasks.execution.DefaultTaskFingerprinter] Fingerprinting property otherFileOutputs.otherFileOutput1 (Output) for task ':app:transformClassesAndResourcesWithProguardForRelease'
19:04:40.551 [DEBUG] [org.gradle.api.internal.tasks.execution.DefaultTaskFingerprinter] Fingerprinting property otherFileOutputs.otherFileOutput2 (Output) for task ':app:transformClassesAndResourcesWithProguardForRelease'
19:04:40.570 [DEBUG] [org.gradle.api.internal.tasks.execution.DefaultTaskFingerprinter] Fingerprinting property otherFileOutputs.otherFileOutput3 (Output) for task ':app:transformClassesAndResourcesWithProguardForRelease'
19:04:40.579 [DEBUG] [org.gradle.api.internal.tasks.execution.DefaultTaskFingerprinter] Fingerprinting property streamOutputFolder (Output) for task ':app:transformClassesAndResourcesWithProguardForRelease'
19:04:40.579 [DEBUG] [org.gradle.internal.execution.steps.CacheStep] Not storing result of task ':app:transformClassesAndResourcesWithProguardForRelease' in cache because the execution failed
19:04:40.580 [DEBUG] [org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter] Removed task artifact state for {} from context.
19:04:40.581 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Task :app:transformClassesAndResourcesWithProguardForRelease'
19:04:40.583 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger]
19:04:40.583 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger] > Task :app:transformClassesAndResourcesWithProguardForRelease FAILED
解决方案
推荐阅读
- django - 如何使用 celery 定期在 django 中安排我的爬虫功能?
- firebase - Firestore vuejs 链式调用停止
- javascript - Angular JS 错误:[ngRepeat:dupes] 不允许在转发器中重复
- wso2esb - 从 WSO2IS 检索范围详细信息的 SOAP 服务
- django - 我对 django 身份验证功能有疑问
- algorithm - deleteMin 左倾红黑树需要更多解释
- sql - 如果 C# 中的输入值为空,则将 NULL 插入 SQL Server 数据库
- c# - Unity如何序列化和反序列化复杂的嵌套json?
- php - 数组上的 PHPUnit assertDataHas()
- c++ - 为什么 'typeid(x) == typeid(y)' 评估为真,其中 'x' 和 'y' 分别是 T 和 T& 类型的 id 表达式?