为了账号安全,请及时绑定邮箱和手机立即绑定

名称为[DEFAULT]的FirebaseApp不存在

名称为[DEFAULT]的FirebaseApp不存在

叮当猫咪 2019-12-04 14:30:43
迁移到Firebase Cloud Messaging之后。打开我的应用程序时,它崩溃并引发错误,说java.lang.IllegalStateException: FirebaseApp with name [DEFAULT] doesn't exist.我已经放置了新的google-services.json并更新了我的SDK。这是我的MainActivitypublic class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);//Check Google play service    GoogleApiAvailability googleAPI = GoogleApiAvailability.getInstance();    int resultCode = googleAPI.isGooglePlayServicesAvailable(this);    if (resultCode != ConnectionResult.SUCCESS) {        if (GooglePlayServicesUtil.isUserRecoverableError(resultCode)) {            GooglePlayServicesUtil.getErrorDialog(resultCode, this,                    PLAY_SERVICES_RESOLUTION_REQUEST).show();        } else {            Log.e(LOG_TAG, "This device is not supported.");            finish();        }    }    Log.i(TAG, "InstanceID token: " + FirebaseInstanceId.getInstance().getToken());}}
查看完整描述

3 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

不确定是否与此处相关。但是在另一种情况下,可能发生崩溃。


如果您的应用程序具有服务(具有不同的过程),并且您正在创建自己的Application类,则该服务和前台应用程序将使用相同的Application类(不是同一实例)进行初始化。现在,当我使用com.google.firebase:firebase-crash依赖关系来处理崩溃时,它将创建一个后台服务your.app.packagename:background_crash。由于某种原因,这导致我的应用程序崩溃。具体来说,因为在我的Application类中,我像这样打电话,


FirebaseDatabase.getInstance().setPersistenceEnabled(true);

我假设,在使用我们的Application类初始化时,后台服务以某种方式未初始化Firebase。为了解决这个问题,我做了


if (!FirebaseApp.getApps(this).isEmpty())

        FirebaseDatabase.getInstance().setPersistenceEnabled(true);


查看完整回答
反对 回复 2019-12-04
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

我遇到过类似的问题,对我来说,这是清单合并的错误/问题。我发现FirebaseInitProvider由于tools:node="replace"我的应用程序清单文件中的内容尚未注入最终清单文件中。因此,请尝试删除此xml标记FirebaseInitProvider并将其注入,然后可以正确初始化Firebase。


查看完整回答
反对 回复 2019-12-04
  • 3 回答
  • 0 关注
  • 1090 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信