当前位置: 首页 > 知识库问答 >
问题:

签名Apk不断崩溃

杜海
2023-03-14

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)

        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个答案

海灵均
2023-03-14

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

另外,尝试创建一个签名包并尝试使用它。

 类似资料:
  • 我已经签署了一个应用程序与我创建的标志。我已经在我的手机里安装了这个apk,这是可以的,但是当我尝试打开应用程序时,它崩溃了(没有显示任何活动),并且它没有给我看日志的机会(这个对话框没有报告按钮) 问题是我在应用程序上的签名。我已经测试了其他标志和应用程序打开完美。我不能发布任何关于创建标志的信息,但只有我可以说我使用了: 其他字段为空。 主要的问题是这个应用程序是在google play中发布

  • 我正在尝试构建我的第一个签名APK以供发布,但出现了一些错误。看起来效果很好,但现在我就是无法生成APK。我做了研究,但什么也没找到。 Gradle版本:4.8,Android插件版本3.1.4,这是我的应用程序Gradle屏幕截图:link 这来自assembleDebug: 我曾经有过布局和不赞成使用的功能的其他问题,但我解决了它。其中一个就这样消失了,但我什么也没做:-) 我已经尝试过的事情

  • 对Apk签名进行校验,是发版前必不可少的工作。 keytool.exe -printcert -v -file CERT.RSA 输出结果如下: Owner: CN=wang, OU=xinhuan, O=xinhuan, L=beijing, ST=beijing, C=cn Issuer: CN=wang, OU=xinhuan, O=xinhuan, L=beijing, ST=beiji

  • 我正在尝试生成签名APK。但由于生成时的lint错误而无法生成。我检查了我的lint报告,它在我的XML文件中显示错误。 林特在组装释放目标时发现致命错误。要继续,要么修复lint识别的问题,要么修改构建脚本,如下所示:...android{lintOptions{checkReleaseBuilds false//或者,如果您愿意,您可以继续检查版本构建中的错误,//但即使发现错误,也可以继续构

  • 将android studio更新到3.0版(windows)后,我无法生成已签名的APK。 构建完成后,我会收到以下消息: 单击“定位”会将我带到应用程序文件夹,但找不到APK。 发生了什么变化?

  • 本文向大家介绍android实现给未签名的apk签名方法,包括了android实现给未签名的apk签名方法的使用技巧和注意事项,需要的朋友参考一下 android给未签名的apk签名命令。 准备文件 1、unsign.apk(未签名的apk) 2、shanhy.keystore(签名证书文件) 命令语法: jarsigner -verbose -keystore [keystorePath] -s