После перехода на Firebase Cloud Messaging.При открытии моего приложения происходит сбой и выдается сообщение об ошибке, в котором говорится, что java.lang.IllegalStateException: FirebaseApp with name [DEFAULT] doesn't exist. я уже установил свои новые Google-сервисы.json и обновил свой SDK.
//Check Google play service GoogleApiAvailabilitygoogleAPI= GoogleApiAvailability.getInstance(); intresultCode= 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(); } }
в нижней части файла gradle приложения, а затем очистите и перестройте проект
Ответ 2
Не уверен, уместно ли это здесь. Но есть другой сценарий, когда может произойти этот сбой.
Если в вашем приложении есть служба (с другим процессом) и вы создаете свой собственный Application класс, служба и приложение переднего плана будут использовать один и тот же класс приложения (не один и тот же экземпляр) для инициализации. Теперь, когда я использую com.google.firebase:firebase-crash зависимость для обработки сбоев, она создает фоновую службу your.app.packagename:background_crash. По какой-то причине это вызывало сбои в моем приложении. В частности, потому, что в моем классе приложения я выполнял вызов типа,
Я предполагаю, что фоновая служба при запуске с нашим классом приложения каким-то образом Firebase не инициализируется. Чтобы исправить это, я сделал
if (!FirebaseApp.getApps(this).isEmpty()) FirebaseDatabase.getInstance().setPersistenceEnabled(true);
Ответ 3
У меня была похожая проблема, и для меня это была ошибка / проблема со слиянием манифестов. Я обнаружил, что FirebaseInitProvider это не было введено в окончательный файл манифеста из-за tools:node="replace" в файле манифеста моего приложения. Итак, попробуйте удалить этот xml-тег, и FirebaseInitProvider он будет введен, и Firebase можно будет инициализировать должным образом.