当我运行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/gradle
的build.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;