【问题标题】:App crash in release mode, show FATAL EXCEPTION: main java.lang.NoSuchMethodError: No interface method发布模式下应用程序崩溃,显示 FATAL EXCEPTION: main java.lang.NoSuchMethodError: No interface method
【发布时间】:2021-01-20 17:26:39
【问题描述】:

应用仅在发布模式下崩溃。如果我设置 minifyEnabled false,它不会崩溃。

Android Gradle 插件版本:4.0.1 Gradle 版本:6.1.1

build.gradle(:app)

        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            signingConfig signingConfigs.release
            applicationVariants.all { variant ->
                variant.outputs.all { output ->
                    def date = new Date();
                    def formattedDate = date.format('yyyyMMdd')
                    //def entorno = System.getProperty("entorno")
                    outputFileName = "MOVILIDAD_${variant.buildType.name}_${formattedDate}_${System.getProperty("entorno")}.apk"
                }
            }
        }

致命错误

09-15 13:25:13.879 12478-12478/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: es.indra.tdemov, PID: 12478
    java.lang.NoSuchMethodError: No interface method h(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 androidx.core.content.FileProvider.g()
        at androidx.core.content.FileProvider.d()
        at androidx.core.content.FileProvider.attachInfo()
        at android.app.ActivityThread.installProvider(ActivityThread.java:6768)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:6363)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6303)
        at android.app.ActivityThread.access$1800(ActivityThread.java:222)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1862)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:158)
        at android.app.ActivityThread.main(ActivityThread.java:7230)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

谢谢你

【问题讨论】:

    标签: android android-studio


    【解决方案1】:

    如果您在项目中使用第三方库,请确保添加 ProGuard-rule 在该库的 proguard-rules.pro 文件中。

    【讨论】:

    • 非常感谢
    【解决方案2】:

    已修复:getDefaultProguardFile 方法未获取文件,因为名称错误。

    错行
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    正确的行proguard-rules.pro
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

    富恩特:https://developer.android.com/studio/build/shrink-code?hl=es

    【讨论】:

      猜你喜欢
      • 2020-12-02
      • 2021-02-26
      • 2014-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多