签名的Apk继续崩溃

时间:2020-10-23 07:49:27

标签: java android android-studio gradle

在升级并添加另一个模块后,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')
}

我已经在保护规则中添加了这些行,但是对我没有帮助

-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 


1 个答案:

答案 0 :(得分:0)

确保在创建“已发布的APK”文件时选中v1和v2复选框,如下图所示:

enter image description here

此外,尝试创建一个已签名的捆绑包并尝试使用它。