java - 已签名的 Apk 不断崩溃
问题描述
升级并添加另一个模块后,Apk 在旧版本上运行良好我收到此错误
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
2020-10-18 10:16:02.419 29711-29711/? E/UncaughtException: java.lang.NoSuchMethodError: No interface method b(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; in class Landroid/content/res/XmlResourceParser; or its super classes (declaration of 'android.content.res.XmlResourceParser' appears in /system/framework/framework.jar)
at android.support.v4.content.FileProvider.g(Unknown Source:44)
at android.support.v4.content.FileProvider.d(Unknown Source:13)
at android.support.v4.content.FileProvider.attachInfo(Unknown Source:13)
at android.app.ActivityThread.installProvider(ActivityThread.java:6983)
仅在发布模式下崩溃,这是我的 Gradle 文件
release {
minifyEnabled true
shrinkResources true
debuggable false
multiDexKeepProguard file('multidex-config.pro')
}
我已经在我的 proguard 规则中添加了这些行,但没有帮助我
-keep class org.xmlpull.v1.** { *;}
-dontwarn org.xmlpull.v1.**
这是我在以前版本的应用程序中定义的 proguard 规则,并且运行良好
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontoptimize
-dontpreverify
-dontwarn android.**
#-dontwarn android.support.v4.**
#-dontwarn com.google.**
#-dontwarn org.apache.**
#-dontwarn com.mixpanel.**
#-dontwarn android.net.http.**
#-dontwarn com.google.common.cache.**
#-dontwarn com.google.common.primitives.**
#-dontwarn com.google.api.client.googleapis.**
#-dontwarn org.apache.http.*
#-dontwarn com.fasterxml.jackson.databind.**
#-dontwarn com.adobe.**
# okhttp
-dontwarn okio.**
-dontwarn okhttp3.**
-keep class okio.**
-keep class okhttp3.** { *; }
-keep interface okhttp3.** { *; }
# appcompat
-keep public class android.support.v7.widget.** { *; }
-keep public class android.support.v7.internal.widget.** { *; }
-keep public class android.support.v7.internal.view.menu.** { *; }
-dontwarn org.apache.**
-dontwarn com.google.**
-dontwarn sun.misc.Unsafe.**
-dontwarn com.android.volley.**
-dontwarn com.squareup.okhttp.**
-dontwarn okio.**
-dontwarn android.net.http.AndroidHttpClient
-dontwarn com.google.android.gms.**
-keep class com.** { *; }
-dontwarn android.webkit.WebView
-dontwarn android.net.http.SslError
-dontwarn android.webkit.WebViewClient
-dontwarn java.nio.file.Files
-dontwarn java.nio.file.Path
-dontwarn java.nio.file.OpenOption
-dontnote junit.framework.*
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
#-dontwarn com.squareup.picasso.*
#-dontwarn com.wasl.properties.*
#-keepparameternames
-renamesourcefileattribute SourceFile
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,EnclosingMethod
-keepattributes SourceFile,LineNumberTable
-keep class com.parse.*{ *; }
-dontwarn com.parse.**
#-dontwarn com.squareup.picasso.**
-keep class com.squareup.picasso.*{ *; }
-keep class com.flurry.** { *; }
-keep class org.xmlpull.v1.* {*;}
-dontwarn org.xmlpull.v1.**
-dontwarn javax.xml.namespace.**
-dontwarn org.apache.commons.**
-keep class org.apache.http.** { *; }
-dontwarn org.apache.http.**
#-keep class com.intuz.addresspicker.** { *; }
-keep class com.samsung.** {*;}
-dontwarn com.samsung.**
#-keep class com.samsung.android.sdk.pass.** { *; }
#-keep class com.samsung.android.sdk.** { *; }
#-dontwarn com.samsung.android.fingerprint.IFingerprintClient;
-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 * extends android.support.v4.app.FragmentActivity
-keep public class * extends android.support.v4.app.Fragment
-keep public class * extends android.app.Fragment
-keep public class com.wasl.OAM.unregistered.PreferencesStore
-keep public class com.wasl.OAM.unregistered.ObscuredSharedPreferences
-keep public class com.wasl.OAM.unregistered.CommonFunction
-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService
-keep public class * extends android.os.AsyncTask
-keep class org.apache.http.** { *; }
-keep class org.apache.commons.codec.** { *; }
-keep class org.apache.commons.logging.** { *; }
-keep class android.net.compatibility.** { *; }
-keep class android.net.http.** { *; }
-keep class android.support.v4.media.** { *; }
-keep interface android.support.v4.media.** { *; }
-keep class com.google.** { *; }
-keep class android.** { *; }
-keep class com.google.android.**
-keep class com.google.android.gms.**
-keep class com.google.android.gms.location.**
-keep class com.google.api.client.**
-keep class com.google.maps.android.**
-keep class android.support.v7.** { *; }
-keep interface android.support.v7.** { *; }
-keep class com.google.android.** { *; }
-keep interface com.google.android.** { *; }
-keep class com.google.gson.** { *; }
-keep class com.google.gson.reflect.** { *; }
-keep interface com.google.gson.** { *; }
-keep class libcore.**
-keep class com.fasterxml.jackson.** { *; }
#-keep class okio.**
-keep class com.wasl.OAM.** { *; }
-keep class com.** { *; }
-keep class com.wasl.OAM.pushNotification.** { *; }
-keep class butterknife.** { *; }
-keep public class com.wasl.OAM.** {
public protected private *;
}
-keep class sun.bob.mcalendarview.** { *; }
#-keep class cz.msebera.android.httpclient.annotation.** { *; }
-keep class com.** { *; }
-keepclassmembers class fqcn.of.javascript.interface.for.webview {
public *;
}
#-keep class okio.** { *; }
#-keep class okhttp3.** { *; }
#-keep class android.** { *; }
-keep class myApp.interfaces.** { *; }
-keep public class android.net.http.SslError
-keep public class android.webkit.WebViewClient
-keep class com.google.android.gms.** { *; }
-keepattributes Signature
-dontwarn com.google
-keepattributes *Annotation*
-keepattributes Signature
-keepattributes Exceptions
-keep class org.junit.** { *; }
-dontwarn org.junit.**
-keep class junit.** { *; }
-dontwarn junit.**
-keep public interface android.support.test.espresso.IdlingResource$ResourceCallback {*;}
-keepattributes InnerClasses
-keep public class org.apache.commons.io.**
-keep public class com.google.gson.**
-keep public class com.google.gson.** {public private protected *;}
-keep class com.google.common.collect.MapMakerInternalMap$ReferenceEntry
-keep class com.google.common.cache.LocalCache$ReferenceEntry
-keep interface com.google.android.gms.maps.** { *; }
-keep class com.fasterxml.jackson.** { *; }
-keep class com.enstage.** { *; }
-keep class com.adobe.** { *; }
-keep class com.fasterxml.jackson.core.** { *; }
-keepclassmembers class * extends java.lang.Enum {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keepclassmembers public class * extends android.view.View {
void set*(***);
*** get*();
}
-assumenosideeffects class android.util.Log {
public static *** d(...);
public static *** v(...);
public static *** w(...);
}
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
# Keep GSON stuff
-keep class sun.misc.Unsafe { *; }
-keep class com.google.gson.** { *; }
-keep class com.google.** {*;}
-keepclassmembers class com.google.** {*;}
-keepclassmembers class fqcn.of.javascript.interface.for.webview {public *;}
-keep public class pl.droidsonroids.gif.GifIOException{<init>(int);}
-keep class pl.droidsonroids.gif.GifInfoHandle{<init>(long,int,int,int);}
-keep public class pl.droidsonroids.gif.GifIOException{<init>(int, java.lang.String);}
-keep class com.intuit.sdp.** { *; }
-keep class pl.droidsonroids.gif.GifIOException.** { *; }
-keep class pl.droidsonroids.gif.** {*;}
-keep public class * {
public protected *;
}
-keepclassmembernames class * {
static <methods>;
}
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclassmembers class * {
@android.webkit.JavascriptInterface <methods>;
}
# Preserve all .class method names.
-keepclassmembernames class * {
java.lang.Class class$(java.lang.String);
java.lang.Class class$(java.lang.String, boolean);
}
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
static final java.io.ObjectStreamField[] serialPersistentFields;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}
-keep public class * extends android.view.View {
public <init>(android.content.Context);
}
-keep public class * extends android.view.View {
public <init>(android.content.Context, android.util.AttributeSet);
}
-keep public class * extends android.view.View {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
#Maintain enums
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
#To keep parcelable classes (to serialize - deserialize objects to sent through Intents)
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-keep class org.jivesoftware.smack.** {*;}
-keep class org.jivesoftware.smackx.** {*;}
#Keep the R
#-keepclassmembers class **.R$* {
# public static <fields>;
# }
#
-keepattributes InnerClasses
-keep class **.R
-keep class **.R$* {
<fields>;
}
``
this is multidex-config.pro file that is mention in build.gradle
解决方案
推荐阅读
- javascript - IE11 的 clientWidth 和 clientHeight 与所有其他浏览器不同
- javascript - 使用 Python 编写 Javascript:寻找 indexOf 新行
- vba - VBA Powerpoint - 如何突出显示选定的文本
- css - 自定义 CSS 未在某些页面上加载 - 特别是那些带有表单的页面?
- spring - 应该通过 curl 命令允许清理端点
- latex - 在 tikz 中画一个圆,在它的中心有一条线,两边有文字
- python - 使用 python selenium xpath 抓取脚本标签
- xamarin - Xamarin SQLite 连接与锁定错误
- c - 为什么枚举值可以具有大 (>int) 值?
- android - 无法将图像保存在android Oreo的外部存储中