Flutter应用程序工作调试模式,发布中的应用程序不工作



当我运行flutter运行--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)

我的Gradleclasspath"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

这对我有效。

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

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

答案取自此线程。

我也遇到过类似的问题,我想这与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

将您的等级类路径和分发url升级到最新版本。也是pubspec.yaml 中最新文本版本的文件选择器

检查它是否有效。。。如果没有,那么打开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,不如使用以下与您的问题无关,但它会导致另一个问题。您将得到一些missingFile异常。

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

相关内容

最新更新