FirebaseApp не инициализируется в этом процессе - дополнительно FirebaseApp.initializeApp () не работает.Проблема зависимости? - PullRequest
0 голосов
/ 19 октября 2018

Я добавил следующую строку в файл gradle проекта:

classpath 'com.google.gms:google-services:4.0.0'

Это в файл gradle модуля:

dependencies {

    ...    

    // GPS
    implementation 'com.google.android.gms:play-services-location:16.0.0'

    // FireBase
    implementation 'com.google.firebase:firebase-core:16.0.4'
    implementation 'com.google.firebase:firebase-iid:17.0.4'
    implementation 'com.google.firebase:firebase-messaging:17.3.4'

    implementation 'com.google.android.gms:play-services-gcm:16.0.0'
}

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

И добавил это в AndroidManifest.xml

<service
        android:name=".pushclient.PushService"
        android:exported="false">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT"/>
        </intent-filter>
</service>

Я скачал google-services.json из консоли FireBase и поместил его в правильное положение

Но я получаю следующую ошибку при попытке использовать Firebase:

Caused by: java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process

Когда яинициализировать его вручную и попытаться получить идентификатор, я получаю эту ошибку:

Caused by: java.lang.IllegalStateException: FirebaseInstanceId.getInstance() must not be null

Я попытался установить новое новое приложение, и оно работает, но на самом деле не с моим проектом.Я думаю, что есть проблема зависимости, но нет ошибки или подсказки.

Я пробовал много разных версий, ни одна из них не работает.

У вас есть решение для этого?

Ответы [ 3 ]

0 голосов
/ 19 октября 2018

Если вы получаете ошибку при инициализации экземпляра firebase, вы можете использовать метод ниже, прежде чем пытаться получить экземпляр.

FirebaseApp.initializeApp(this);

При условии, что вы добавили: -

  • google-services.json
  • готовая конфигурация в AndroidManifest.xml

Вам нужно добавить зависимость google-services в файл градлов вашего уровня проекта.

buildscript {
   repositories {---}
   dependencies {
       ---
       ---
       classpath 'com.google.gms:google-services:4.0.0'
   }
}

Также необходимо удалить зависимость gcm.

реализация 'com.google.android.gms: играть-услуги-GCM: 16.0.0'

0 голосов
/ 24 октября 2018

Проблема была tools:node="replace" в AndroidManifest.xml субмодуля. После того, как я удалил его и исправил проблемы с Manifest-Merger, он работал нормально!

Google действительно должен дать нам небольшую подсказкучто Firebase не запустится, если вы используете tools:node="replace" в любом месте вашего проекта.

0 голосов
/ 19 октября 2018

Вы должны добавить конфигурацию JSON в папку вашего приложения.Вы можете скачать этот файл на странице вашего проекта на сайте Firebase.

Открыть сайт Firibase -> Выбрать проект -> Настройка -> Выбрать приложение -> Clcik "google-services.json"

...