如何解决Flutter Firebase Remote Config在类... / FirebaseRemoteConfigSettings中没有虚拟方法isDeveloperModeEnabledZ
我最近升级了Flutter项目中的所有firebase库。之后,我得到消息:
/ flutter(27126):[错误:flutter / shell / platform / android / platform_view_android_jni_impl.cc(43)] java.lang.NoSuchMethodError:类Lcom / google / firebase / remoteconfig /中没有虚拟方法isDeveloperModeEnabled()Z FirebaseRemoteConfigSettings;或其上级类(“ com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings”的声明显示在/data/app/package_name-1UBO7FEPHLsC2_eb7itJLA==/base.apk!classes3.dex中)
此后,我的应用因错误而崩溃:
[FATAL:flutter / shell / platform / android / platform_view_android_jni_impl.cc(942)]检查失败:CheckException(env)。
当前我正在使用:
firebase_remote_config:^ 0.4.0 + 2
firebase_core:0.5.0 + 1
我在android / build.gradle中的依赖项:
dependencies {
classpath 'com.android.tools.build:gradle:3.6.4'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.4'
classpath 'io.fabric.tools:gradle:1.28.1'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.3.0'
}
android / app / build.gradle
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
testImplementation 'junit:junit:4.13.1'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'com.google.firebase:firebase-config:20.0.0'
implementation 'com.facebook.android:facebook-login:7.1.0'
implementation 'com.google.firebase:firebase-messaging:21.0.0'
implementation 'com.google.android.gms:play-services-basement:17.5.0'
configurations.all {
resolutionStrategy.force 'com.google.android.gms:play-services-base:17.1.0'
}
}
解决方法
最终解决了..
Okey不仅会更改此行
properties.put("inDebugMode",firebaseRemoteConfigInfo.getConfigSettings().isDeveloperModeEnabled());
到
properties.put("inDebugMode",false);
&更改
FirebaseRemoteConfigSettings settings = new FirebaseRemoteConfigSettings.Builder().setDeveloperModeEnabled(debugMode).build();
firebaseRemoteConfig.setConfigSettings(settings);
到
FirebaseRemoteConfigSettings settings = new FirebaseRemoteConfigSettings.Builder().build();
firebaseRemoteConfig.setConfigSettingsAsync(settings);
您还需要对此进行更改
FirebaseRemoteConfig.getInstance().setDefaults(defaults);
到
FirebaseRemoteConfig.getInstance().setDefaultsAsync(defaults);
仍然是一个烦人的问题,应尽快解决
,这是插件中的错误,有关详细信息,请参见github问题: https://github.com/FirebaseExtended/flutterfire/issues/4035
解决方法:转到您的发布缓存目录,找到MethodCallHandler.java并替换以下行:
properties.put(
"inDebugMode",firebaseRemoteConfigInfo.getConfigSettings().isDeveloperModeEnabled());
与此:
properties.put("inDebugMode",false);
,
如果已设置,请在您的 android 应用程序的构建 gradle 中删除此代码:
rootProject.ext {
set('FlutterFire',[
FirebaseSDKVersion: '26.1.1'
])
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。