最近我把我的gradle版本从7.2升级到了8.1。升级后,我面临
Missing class com.google.devtools.build.android.desugar.runtime.ThrowableExtension
(referenced from: java.lang.String
io.agora.base.internal.Logging.getStackTraceString(java.lang.Throwable) and 18 other
contexts)
Missing class reactor.blockhound.integration.BlockHoundIntegration (referenced from:
reactor.core.scheduler.ReactorBlockHoundIntegration)
当我尝试签署我的构建时会发生这种情况。我正在使用亲卫规则,这可能会导致问题。
到目前为止我尝试过的事情
Proguard 规则:
-keepclassmembers,allowobfuscation class * {
@com.google.gson.annotations.SerializedName <fields>;
}
-keep,allowobfuscation interface com.google.gson.annotations.SerializedName
# for glide
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public class * extends com.bumptech.glide.module.AppGlideModule
-keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
**[] $VALUES;
public *;
}
# for eventbus
-keepattributes *Annotation*
-keepclassmembers class * {
@org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }
# And if you use AsyncExecutor:
-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
<init>(java.lang.Throwable);
}
-useuniqueclassmembernames
# These options produce useful stacktraces preserving line numbers
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable
# Pdf viewer
-keep class com.shockwave.**
-keep class com.media365ltd.doctime.networking.retrofit_latest.**
#agora
-keep class io.agora.**{*;}
# Amazon Chime
-keep class com.amazonaws.** { *; }# JSR 305 annotations are for embedding nullability information.
-dontwarn javax.annotation.**
# A resource is loaded with a relative path so the package of this class must be preserved.
-adaptresourcefilenames okhttp3/internal/publicsuffix/PublicSuffixDatabase.gz
# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.
-dontwarn org.codehaus.mojo.animal_sniffer.*
# OkHttp platform used only on JVM and when Conscrypt and other security providers are available.
-dontwarn okhttp3.internal.platform.**
-dontwarn org.conscrypt.**
-dontwarn org.bouncycastle.**
-dontwarn org.openjsse.**
# Adjust
-keep class com.adjust.sdk.** { *; }
-keep class com.google.android.gms.common.ConnectionResult {
int SUCCESS;
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient {
com.google.android.gms.ads.identifier.AdvertisingIdClient$Info getAdvertisingIdInfo(android.content.Context);
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info {
java.lang.String getId();
boolean isLimitAdTrackingEnabled();
}
-keep public class com.android.installreferrer.** { *; }
任何见解都将受到高度赞赏。预先感谢。
更新 ProGuard 规则:
-keep class com.google.devtools.build.android.desugar.runtime.ThrowableExtension { *; }