Flutter App工作调试模式,在发布应用程序不工作

Posted

技术标签:

【中文标题】Flutter App工作调试模式,在发布应用程序不工作【英文标题】:Flutter App working debug mode, in release app not working 【发布时间】:2021-03-02 23:23:34 【问题描述】:

当我运行 flutter run --release -v 时出现以下错误

Caused by: java.lang.IllegalAccessError: Interface androidx.lifecycle.b implemented by class
com.mr.flutter.plugin.filepicker.FilePickerPlugin$LifeCycleObserver is inaccessible (declaration of 'com.mr.flutter.plugin.filepicker.FilePickerPlugin$LifeCycleObserver' appears in
/data/app/app.projects.xxx.mobile-1/base.apk)

我的 Gradle 是 类路径'com.android.tools.build:gradle:4.0.0' //4.0.1 //3.3.2 //3.5.3 //3.4.2

distributionUrl=https://services.gradle.org/distributions/gradle-6.1.1-all.zip

【问题讨论】:

【参考方案1】:

将您的年级类路径和分发 url 升级到最新版本。 pubspec.yaml 中的文件选择器也可以转换为 latext 版本

检查它是否有效...如果没有则打开android/gradle.properties 并查看以下行是否存在如果没有则添加

android.useAndroidX=true
android.enableJetifier=true

检查您的android/app/build.gradle 中是否有以下内容

minSdkVersion 21
targetSdkVersion 28
multiDexEnabled true

然后flutter clean

然后,不要直接运行flutter run --release -v,而是使用与您的问题无关的以下内容,但它会导致另一个您将得到一些缺失文件异常。

flutter build apk --debug
then flutter build apk --profile;
then flutter build apk --release;

【讨论】:

【参考方案2】:

这对我有用。

转到android/gradlebuild.gradle 文件并降级到版本 3.6.2,如下所示,

    dependencies 
        classpath 'com.android.tools.build:gradle:3.6.2'

来自thread的答案。

【讨论】:

【参考方案3】:

我有类似的问题,我猜它与 gradle 4+ 版本有关,我可以按照以下步骤解决这个问题。

在 app/proguard-rules.pro 中添加以下行(如果文件不存在,则创建一个。)

-keep class androidx.lifecycle.DefaultLifecycleObserver

来自 logcat 的错误,它只是在发布版本中存在问题。模拟器工作正常。 -

03-12 07:41:32.281 22847 22847 E AndroidRuntime: java.lang.IllegalAccessError: Interface androidx.lifecycle.b implemented by class com.mr.flutter.plugin.filepicker.FilePickerPlugin$LifeCycleObserver is inaccessible (declaration of 'com.mr.flutter.plugin.filepicker.FilePickerPlugin$LifeCycleObserver' appears in base.apk)

相关讨论/问题可以在这里找到 -https://github.com/flutter/flutter/issues/58479

【讨论】:

以上是关于Flutter App工作调试模式,在发布应用程序不工作的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在调试 Flutter App 时更改值

在 Ios 14 Flutter App 中,在 Debug 模式下不保存

API 不工作/http 错误 SocketException:在发布版本中主机查找失败(在调试模式下工作)对于 Flutter

flutter ios app在testflight模式下显示白屏?

Flutter dart 调试器断点停止工作

在发布模式下构建后 Flutter Secure Storage 无法正常工作