【问题标题】:flutter android app crashing on prod build颤振的android应用程序在产品构建上崩溃
【发布时间】:2021-07-08 08:32:31
【问题描述】:

我正在为我的项目运行构建命令,以便在它被推送之前在本地检查发布模式,一切运行正常,然后应用程序在运行此命令时立即关闭:

flutter run --release --flavor prod

它失败并显示此错误消息:

Launching lib/main.dart on I4113 in release mode...
Running Gradle task 'assembleProdRelease'...                            
Running Gradle task 'assembleProdRelease'... Done                  35.0s
✓ Built build/app/outputs/flutter-apk/app-prod-release.apk (32.6MB).
Installing build/app/outputs/flutter-apk/app.apk...                 5.4s

Flutter run key commands.
h Repeat this help message.
c Clear the screen
q Quit (terminate the application on the device).
E/AndroidRuntime(31478): FATAL EXCEPTION: main
E/AndroidRuntime(31478): Process: io.rev PID: 31478
E/AndroidRuntime(31478): java.lang.NoSuchMethodError: No interface method a()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)
E/AndroidRuntime(31478):        at androidx.core.content.FileProvider.parsePathStrategy(Unknown Source:39)
E/AndroidRuntime(31478):        at androidx.core.content.FileProvider.getPathStrategy(Unknown Source:13)
E/AndroidRuntime(31478):        at androidx.core.content.FileProvider.attachInfo(Unknown Source:13)
E/AndroidRuntime(31478):        at android.app.ActivityThread.installProvider(ActivityThread.java:7045)
E/AndroidRuntime(31478):        at android.app.ActivityThread.installContentProviders(ActivityThread.java:6590)
E/AndroidRuntime(31478):        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6485)
E/AndroidRuntime(31478):        at android.app.ActivityThread.access$1300(ActivityThread.java:225)
E/AndroidRuntime(31478):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1865)
E/AndroidRuntime(31478):        at android.os.Handler.dispatchMessage(Handler.java:107)
E/AndroidRuntime(31478):        at android.os.Looper.loop(Looper.java:359)
E/AndroidRuntime(31478):        at android.app.ActivityThread.main(ActivityThread.java:7418)
E/AndroidRuntime(31478):        at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(31478):        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
E/AndroidRuntime(31478):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935)

【问题讨论】:

    标签: java android flutter


    【解决方案1】:

    R8 在发布时删除了该类。尝试将这些行添加到您的 app/proguard-rules.pro

    -keepattributes EnclosingMethod
    -keepattributes InnerClasses
    -dontwarn org.xmlpull.v1.**
    -dontnote org.xmlpull.v1.**
    -keep class org.xmlpull.** { *; }
    -keepclassmembers class org.xmlpull.** { *; }
    

    app/build.gradle

    release {
        proguardFiles getDefaultProguardFile(
            'proguard-android-optimize.txt'),
            'proguard-rules.pro'
        signingConfig signingConfigs.release
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-18
      • 1970-01-01
      • 1970-01-01
      • 2020-07-20
      • 2019-12-08
      • 2021-01-05
      • 2019-08-18
      • 2021-03-01
      相关资源
      最近更新 更多