gpt4 book ai didi

android - 使用助手添加后,Firebase 显示 NoSuchMethodError

转载 作者:行者123 更新时间:2023-11-30 00:42:04 24 4
gpt4 key购买 nike

我想在我的应用中使用 Firebase 远程配置。我在 Android Studio 中创建新项目,并按照文档建议运行工具 - Firebase 助手。在 console.firebase.google.com 上创建应用并将下一个设置添加到我的根 build.gralde:classpath 'com.google.gms:google-services :3.0.0' 和应用程序 build.gralde:

apply plugin: 'com.google.gms.google-services'

compile 'com.google.firebase:firebase-config:10.2.0'

然后我添加到我的 MainActivity:

mFirebaseRemoteConfig.activateFetched();
mFirebaseRemoteConfig.fetch();

当我运行应用程序时,它崩溃并登录 fetch() 命令:

E/AndroidRuntime: FATAL EXCEPTION: GoogleApiHandler
java.lang.NoSuchMethodError: No static method zzz(Ljava/lang/Object;)Ljava/lang/Object;
in class Lcom/google/android/gms/common/internal/zzaa;
or its super classes (declaration of 'com.google.android.gms.common.internal.zzaa'
appears in /data/app/my.packagename-1/base.apk)
at com.google.android.gms.measurement.internal.zzx.zzbd(Unknown Source)

我试过禁用 Instant run 和 gradle clear,但仍然有这个问题。如何解决?

UPD: 我发现如果我将行 apply plugin: 'com.google.gms.google-services' 从应用程序的第二行移到最后一行build.gralde 这解决了一个问题,但为什么呢?

最佳答案

我真的不知道。因此,您没有包含完整代码。我是这样看的:首先你创建一个这样的实例

mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();

然后设置开发配置

FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
.setDeveloperModeEnabled(BuildConfig.DEBUG)
.build();
mFirebaseRemoteConfig.setConfigSettings(configSettings);

然后设置默认值 mFirebaseRemoteConfig.setDefaults(R.xml.remote_config_defaults);

XML 文件必须位于 res/XML 中

您执行抓取并在 activateFetched() 的监听器内部

mFirebaseRemoteConfig.fetch(cacheExpiration)
.addOnCompleteListener(this, new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(MainActivity.this, "Fetch Succeeded",
Toast.LENGTH_SHORT).show();

// After config data is successfully fetched, it must be activated before newly fetched
// values are returned.
mFirebaseRemoteConfig.activateFetched();
} else {
Toast.makeText(MainActivity.this, "Fetch Failed",
Toast.LENGTH_SHORT).show();
}
displayWelcomeMessage();
}
});

你在 displayWelcomeMessage() 中获取值,它必须在 Listener 中,它将获取值然后完成获取,否则(你会被异步搞砸的)

希望我答对了,答对了

顺便说一句,所有示例代码都在这里https://github.com/firebase/quickstart-android/blob/master/config/app/src/main/java/com/google/samples/quickstart/config/MainActivity.java

关于android - 使用助手添加后,Firebase 显示 NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42399477/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com