Intereting Posts
Как передать переменную в новую декларацию Runnable? Как отключить прокрутку ScrollView? Сохранение ключа API в gradle.properties Атрибут «titleTextStyle» уже определен? Параметры макета загруженного представления игнорируются Observable.empty () вызывает java.util.NoSuchElementException: Последовательность не содержит элементов В чем разница между contentprovider и contentResolver в android Как играть или возобновлять музыку другого музыкального проигрывателя из моего кода? Как найти «последнюю страницу» в пейджере просмотра. Или общее число просмотров. Разработка Android Есть ли стандартный способ добавления разделителей между элементами панели действий в Android 3.0? Можем ли мы установить INSTALL_REFERRER два раза в одном приложении для Android? OnLocationChanged не вызывается автоматически Можно ли использовать цветной + цвет в качестве фона? Отменить регистрацию новых облачных сообщений Google Android: ошибка OutOfMemory и стоп-сигнал

По умолчанию FirebaseApp не инициализирован

Мы видим несколько исключений из сообщения. Default FirebaseApp is not initialized in this process com.example.app. Make sure to call FirebaseApp.initializeApp(Context) first. Default FirebaseApp is not initialized in this process com.example.app. Make sure to call FirebaseApp.initializeApp(Context) first. В нашем приложении для Android, в котором мы просто добавили Firebase Remote Config.

Трассировка стека выглядит следующим образом:

 Fatal Exception: java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.example.app. Make sure to call FirebaseApp.initializeApp(Context) first. at com.google.firebase.FirebaseApp.getInstance(Unknown Source) at com.google.firebase.remoteconfig.FirebaseRemoteConfig.getInstance(Unknown Source) at com.example.app.fragments.SomeFragment.updateFooter(SourceFile:295) at com.example.app.fragments.SomeFragment.onCreateView(SourceFile:205) at android.support.v4.app.Fragment.performCreateView(SourceFile:2080) at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:1108) at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:1290) at android.support.v4.app.BackStackRecord.run(SourceFile:801) at android.support.v4.app.FragmentManagerImpl.execSingleAction(SourceFile:1638) at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(SourceFile:679) at android.support.v4.app.FragmentPagerAdapter.finishUpdate(SourceFile:143) at android.support.v4.view.ViewPager.populate(SourceFile:1240) at android.support.v4.view.ViewPager.populate(SourceFile:1088) at android.support.v4.view.ViewPager.setAdapter(SourceFile:542) at com.example.app.SomeActivity.onSomeAsyncCallback(SourceFile:908) at com.example.app.SomeDataRetriever.onAsyncHttpCompleted(SourceFile:72) at com.example.app.io.AsyncHttp.onPostExecute(SourceFile:141) at com.example.app.io.AsyncHttp.onPostExecute(SourceFile:19) at android.os.AsyncTask.finish(AsyncTask.java:679) at android.os.AsyncTask.access$500(AsyncTask.java:180) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:696) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:150) at android.app.ActivityThread.main(ActivityThread.java:5665) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:799) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:689) 

Это версия 9.6.1, и мы также используем другие компоненты Firebase:

 compile 'com.google.firebase:firebase-ads:9.6.1' compile 'com.google.firebase:firebase-config:9.6.1' compile 'com.google.firebase:firebase-invites:9.6.1' compile "com.google.firebase:firebase-messaging:9.6.1" 

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

Исключение происходит на Android 4-6 на различных устройствах.

Редактировать:

Я вижу, что этот вопрос получает немного внимания. Я думаю, что это объяснение может быть интересно для некоторых из вас: https://firebase.googleblog.com/2016/12/how-does-firebase-initialize-on-android.html

Solutions Collecting From Web of "По умолчанию FirebaseApp не инициализирован"

Некоторое время назад у меня была такая же проблема.

Вы пытаетесь получить экземпляр Firebase без его инициализации. Пожалуйста, добавьте эту строку кода, прежде чем пытаться получить экземпляр Firebase:

 FirebaseApp.initializeApp(this); 

Убедитесь, что вы добавили свой корневой уровень build.gradle

 buildscript { // ... dependencies { // ... classpath 'com.google.gms:google-services:3.0.0' } } 

Затем на вашем уровне уровня Gradle (обычно это приложение / build.gradle) добавьте строку «применить плагин» в нижней части файла, чтобы включить плагин Gradle:

 apply plugin: 'com.android.application' android { // ... } dependencies { // ... compile 'com.google.firebase:firebase-core:9.6.1' // Getting a "Could not find" error? Make sure you have // the latest Google Repository in the Android SDK manager } // ADD THIS AT THE BOTTOM apply plugin: 'com.google.gms.google-services' 

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

Прежде всего вам нужно добавить com.google.gms: google-services: xxx на уровне root build.gradle

 buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.3.1' classpath 'com.google.gms:google-services:3.0.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } 

}

После этого вам необходимо применить плагин: «com.google.gms.google-services» в приложении / build.gradle

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support:design:25.3.1' compile 'com.android.support:cardview-v7:25.3.1' compile 'com.google.android.gms:play-services-gcm:9.8.0' compile 'com.google.android.gms:play-services-maps:9.8.0' compile 'com.google.android.gms:play-services-location:9.8.0' compile 'com.google.firebase:firebase-messaging:9.8.0' testCompile 'junit:junit:4.12' } apply plugin: 'com.google.gms.google-services' 

И если вы все еще получаете проблемы, тогда вам нужно добавить

 FirebaseApp.initializeApp(this); 

Прямо перед тем, как позвонить

 FirebaseInstanceId.getInstance().getToken(); 

Хотя вручную инициализировать Firebase с FirebaseApp.initializeApp(this); Заставляет ошибку исчезать, она не устраняет основную причину, некоторые нечетные проблемы собираются вместе, похоже, не решаются, например

  • FCM требует com.google.android.c2dm.permission.RECEIVE разрешения, которое предназначено только для GCM
  • Токен становится незарегистрированным после отправки первого уведомления
  • Сообщение не получено / onMessageReceived () никогда не вызывается,

Использовать новый плагин Gradle (например, Android-плагин 2.2.3 и Gradle 2.14.1) исправил все. (Конечно, настройка должна быть правильной в соответствии с документацией Firebase )

Мы должны будем инициализировать Firebase в функции onCreate класса Application.

  package com.rocks.music.videoplayer; import android.app.Application; import android.content.Context; import com.google.firebase.FirebaseApp; /** * Created by ashish123 on 22/8/15. */ public class MyApplication extends Application { private static MyApplication mInstance; @Override public void onCreate() { super.onCreate(); mInstance = this; try { FirebaseApp.initializeApp(this); } catch (Exception e) { } } public static Context getInstance() { return mInstance; } 

}

Код в файле манифеста: –

  <application android:name="com.rocks.music.videoplayer.MyApplication" android:allowBackup="true" android:icon="@drawable/app_icon" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme">