Kami melihat beberapa pengecualian dengan pesan Default FirebaseApp is not initialized in this process com.example.app. Make sure to call FirebaseApp.initializeApp(Context) first.
di aplikasi Android kami di mana kami baru saja menambahkan Firebase Remote Config.
Jejak tumpukan adalah sebagai berikut:
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)
Ini adalah versi 9.6.1 dan kami juga menggunakan komponen Firebase lainnya:
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"
Seperti yang saya lihat dari dokumentasi dan Javadoc kita tidak perlu melakukan inisialisasi manual dalam kasus kami.
Pengecualian terjadi pada Android 4-6 pada berbagai perangkat.
Edit:
Saya melihat pertanyaan ini mendapat sedikit perhatian. Saya pikir penjelasan ini dapat menarik bagi sebagian dari Anda: https://firebase.googleblog.com/2016/12/how-does-firebase-initialize-on-android.html
sumber
Jawaban:
Saya punya masalah yang sama beberapa waktu lalu.
Anda mencoba mendapatkan instance Firebase tanpa menginisialisasi. Harap tambahkan baris kode ini sebelum Anda mencoba mendapatkan instance Firebase:
sumber
apply plugin: 'com.google.gms.google-services'
Pastikan untuk menambahkan build.gradle tingkat root Anda
Kemudian, di file Gradle tingkat modul Anda (biasanya aplikasi / build.gradle), tambahkan baris 'apply plugin' di bagian bawah file untuk mengaktifkan plugin Gradle:
Seperti yang dikatakan dalam dokumentasi . Saya memiliki pengecualian seperti pada pertanyaan di atas ketika lupa menambahkan ini di file gradle saya.
sumber
Tampaknya
google-services:4.1.0
memiliki masalah. Baik downgrade keatau tingkatkan ke
Semoga ini bisa membantu
sumber
classpath 'com.google.gms:google-services:4.1.0'
lagi. YMMV.Saya melewatkan baris di bawah ini di file app / build.gradle saya
dan sekali proyek bersih dan jalankan lagi. Itu memperbaikinya bagi saya.
sumber
punya masalah. alih-alih gunakan:
sumber
Hal pertama yang perlu Anda tambahkan com.google.gms: google-services: xxx di root level build.gradle
}
Setelah itu Anda perlu menerapkan plugin: 'com.google.gms.google-services' di app / build.gradle
dan jika masih Anda mendapatkan masalah maka Anda perlu menambahkan
sebelum Anda menelepon
sumber
Setelah memperbarui berbagai dependensi saya mendapat kesalahan Crashlytics dalam kompilasi, 'Crashlytics menemukan kunci API yang tidak valid: null. Periksa plugin Crashlytics untuk memastikan aplikasi telah berhasil ditambahkan! Hubungi [email protected] untuk bantuan. ' Satu-satunya respons non-otomatis yang saya dapatkan dari upaya berulang kali untuk [email protected] kesalahan mengarahkan Anda adalah bahwa Fabric dan Crashlytics adalah tim yang terpisah sehingga mereka tidak dapat membantu saya. Saya telah menghindari penerapan lapisan Fabric tambahan ke Crashlytics, dan tidak dapat memperoleh kunci baru dari situs Fabric, atau bahkan membuat situs mengenali saya. Saat mencoba mengatasi ini dengan hanya menghapus Crashlytics dari kode saya, saya mendapat 'Default FirebaseApp tidak diinisialisasi dalam proses ini com.example.app. Pastikan untuk memanggil FirebaseApp.initializeApp (Konteks) terlebih dahulu 'crash dalam menjalankannya.
Saya tidak pernah menambahkan baris inisialisasi 'FirebaseApp.initializeApp (ini)', dan sebenarnya sudah berkomentar. Dokumentasi bahkan menyebutkan tidak memerlukan ini jika hanya menggunakan Firebase untuk satu aktivitas. Menambahkannya tidak ada bedanya, masih ada kesalahan menjalankan pembunuhan.
Ternyata apa yang menyebabkan kesalahan baru tersebut adalah ketergantungan pada layanan Google yang diperbarui. Untuk saat ini saya tidak punya waktu untuk menghabiskan lebih banyak hari mencoba memperbaiki kesalahan senapan yang menyebabkan ketergantungan baru, jadi sampai seseorang menemukan solusi saya akan tetap menggunakan versi yang lama. Selain crash inisialisasi aneh, versi baru mungkin memaksa pengguna Fabric pada Crashlytics. Pengguna dipaksa kembali ke versi ketergantungan lama untuk ini juga: Crashlytics menemukan kunci API yang tidak valid: null. setelah diperbarui com.google.gms: google-services: 4.1.0
EDIT 10/17/18: Setelah memperbarui ketergantungan berikut lagi
Saya mendapat crash segera pada upaya instalasi dengan 'xxx telah tiba-tiba ditutup', seperti ketika saya mencoba pembaruan ketergantungan layanan google. Menggali log saya menemukan tautan yang mengarahkan saya untuk menambahkan ini ke manifes
Ini baru, dan tidak disebutkan dalam pengaturan dan instruksi pengantara di sini https://firebase.google.com/docs/android/setup dan di sini https://developers.google.com/admob/android/interstitial .
Saya dulu hanya harus berurusan dengan satu ID terkait iklan untuk aplikasi saya, INTERSTITIAL_UNIT_ID. Sekarang dua harus ditangani. Selain penambahan di atas, dokumentasi mengarahkan penambahan ADMOB_APP_ID di sini (nomor yang sama dengan yang Anda ikatkan dengan iklan.APPLICATION_ID dalam kode manifes yang baru)
Id INTERSTITIAL_UNIT_ID dan ADMOB_APP_ID dapat digali di konsol Google AdMob Anda. Aplikasi game saya berhenti menayangkan iklan pada pembaruan pertama saya tentang dependensi firebase, dan masih tidak menayangkan iklan, memberikan kode kesalahan 0 di
Bahkan setelah semua kekacauan ini ditambahkan, saya masih tidak dapat memperbarui ketergantungan layanan google tanpa inisialisasi kesalahan menjalankan crash. Saya berharap akan terjebak di layanan google: 4.0.1 untuk beberapa waktu.
EDIT 10/24/18: Dari [email protected] setelah berminggu-minggu berkorespondensi untuk tidak mendapatkan penayangan iklan setelah pembaruan:
'Terima kasih telah berbagi log perangkat. Dari log, sepertinya masalah yang ada dan ini ada dalam daftar prioritas kami dan tim kami sedang memperbaiki, dan ini hanya terjadi pada perangkat Android O dan P. '
Hanya perangkat O dan P? Itu dua versi terakhir, O keluar 25 September 2017. Yikes.
sumber
apply plugin: 'com.google.gms.google-services'
build.gradle saya (dengan google-services: 4.1.0)Seperti yang disebutkan oleh @PSIXO dalam komentar, ini mungkin masalah dengan versi ketergantungan dari layanan google. Bagi saya berubah,
untuk
bekerja. Mungkin ada beberapa masalah dengan versi 4.1.0. Karena saya menghabiskan banyak waktu untuk hal ini, saya berpikir untuk menulis ini sebagai jawaban.
sumber
Jika Anda menggunakan FirebaseUI , tidak perlu dari
FirebaseApp.initializeApp(this);
dalam kode Anda sesuai sampel .Pastikan untuk menambahkan build.gradle tingkat root Anda :
Kemudian, di file Gradle tingkat modul Anda :
Itu dia. Tidak perlu lagi
sumber
Anda perlu menambahkan ketergantungan buildscript Firebase Gradle di build.gradle (tingkat proyek)
dan tambahkan plugin Firebase untuk Gradle di app / build.gradle
Sumber: Android Studio Assistant
sumber
Solusi lain yang mungkin - coba Android Studio yang berbeda jika Anda menggunakan beberapa beta. Membantu saya. Studio Android baru tidak menambahkan Firebase dengan benar. Dalam kasus saya, 3.3preview
Setelah beberapa penyelidikan lebih lanjut saya menemukan masalahnya adalah bahwa studio Android baru memulai proyek dengan versi Layanan Google yang lebih baru dan sepertinya itu adalah masalah asli. Seperti @Ammar Bukhari menyarankan perubahan ini membantu:
classpath 'com.google.gms: google-services: 4.1.0' -> classpath 'com.google.gms: google-services: 4.0.0'
sumber
Dalam kasus saya, plugin Google Services gradle tidak menghasilkan
values.xml
file yang diperlukan darigoogle-services.json
file tersebut. Pustaka Firebase menggunakan file nilai yang dihasilkan ini untuk menginisialisasi sendiri dan tampaknya itu tidak membuang kesalahan jika file nilai tidak dapat ditemukan. Periksa apakah file nilai ada di lokasi berikut dan diisi dengan string yang sesuai darigoogle-sevices.json
file Anda :dan / atau
Untuk detail lebih lanjut, lihat: https://developers.google.com/android/guides/google-services-plugin
Kasus khusus saya disebabkan oleh penggunaan versi gradle tools yang terlalu canggih untuk versi Android Studio yang saya jalankan (yaitu memastikan Anda menjalankan alat kelas v3.2.X-YYY dengan Android Studio v3.2).
sumber
Kami tidak perlu menelepon ke
FirebaseApp.initializeApp(this);
mana pun secara manual. dan kita seharusnya tidak juga.Saya hanya menghadapi masalah yang sama tentang hal itu dan mendapat solusi yang tidak terduga dan aneh.
Dari jawaban ini:
Saya telah menghapus
tools:node="replace"
dan berfungsi seperti pesona.sumber
Saya menduga ada masalah kompatibilitas dengan versi layanan google dan versi firebase.
Saya berubah dalam file build.gradle Proyek, ketergantungannya
classpath 'com.google.gms: google-services: 4.1.0' hingga 4.2.0
dan kemudian memperbarui dependensi build.gradle modul ke:
implementasi 'com.google.firebase: firebase-database: 16.0.6'
implementasi 'com.google.firebase: firebase-core: 16.0.7'
Semuanya berfungsi seperti pesona, tidak perlu mengetik FirebaseApp.initializeApp (ini);
sumber
Alasan terjadinya hal ini adalah com.google.gms: google-services version. Ketika saya menggunakan 4.1.0 , saya menghadapi kesalahan yang sama. Lalu saya menurunkan versi versinya. Sebelum
Setelah
Semoga ini bisa menyelesaikan kesalahan.
sumber
Jika Anda baru-baru ini memperbarui Android Studio ke 3.3.1 yang memiliki masalah dengan com.google.gms: dependensi google-services (Di bawah 4.2.0) Jadi silakan perbarui com.google.gms: google-services ke 4.2.0.
sumber
Salah satu alasan terjadinya hal ini bisa jadi karena lupa menambahkan
android.permission.INTERNET
izin masukAndroidManifest.xml
sumber
bagi saya itu meningkatkan dependensi com.google.gms: google-services di dalam build.gradle menjadi
sumber
Meskipun menginisialisasi Firebase secara manual dengan
FirebaseApp.initializeApp(this);
membuat kesalahan menghilang, itu tidak memperbaiki akar penyebabnya, beberapa masalah aneh datang bersama tampaknya tidak diselesaikan, seperticom.google.android.c2dm.permission.RECEIVE
izin yang hanya untuk GCMGunakan plugin Gradle yang lebih baru (mis. Plugin Android 2.2.3 dan Gradle 2.14.1) memperbaiki semuanya. (Tentu saja penyetelan harus benar sesuai dengan dokumentasi Firebase )
sumber
Masalah saya tidak terselesaikan dengan prosedur ini
Jadi saya mencoba sesuatu yang lain dan sekarang firebase saya telah berhasil diinisialisasi. Coba tambahkan berikut ini di app module.gradle
sumber
Klik Alat> Firebase untuk membuka jendela Asisten.
Klik untuk memperluas salah satu fitur yang terdaftar (misalnya, Analytics), lalu klik tautan tutorial yang disediakan (misalnya, Log peristiwa Analytics).
Klik tombol Connect to Firebase untuk terhubung ke Firebase dan tambahkan kode yang diperlukan ke aplikasi Anda.
https://firebase.google.com/docs/android/setup
sumber
Firebase Terpasang Melalui Alat Android Studio ... Firebase ...
Saya melakukan instalasi melalui alat bawaan dari Android Studio (mengikuti dokumen terbaru dari Firebase). Ini menginstal dependensi dasar tetapi ketika saya mencoba untuk terhubung ke database itu selalu memberi saya kesalahan yang saya butuhkan untuk memanggil inisialisasi terlebih dahulu, meskipun saya:
Saya mendapatkan kesalahan ini tidak peduli apa yang saya lakukan.
Akhirnya, setelah melihat komentar di salah satu jawaban lain saya mengubah yang berikut ini di gradle saya dari versi 4.1.0 ke:
Ketika saya melakukan itu, saya akhirnya melihat kesalahan yang membantu saya:
Itulah masalahnya. Tampaknya versi 4.1.0 tidak memberikan galat build karena beberapa alasan - tidak menyebutkan bahwa Anda memiliki file google-services.json yang hilang. Saya tidak memiliki file google-services.json di aplikasi saya jadi saya pergi dan menambahkannya.
Tapi karena ini adalah upgrade yang menggunakan database firsbase realtime yang ada, saya tidak pernah membuat file itu di masa lalu. Saya pergi ke firebase dan menghasilkannya dan menambahkannya dan itu memperbaiki masalah.
Berubah Kembali ke 4.1.0
Setelah saya menemukan semua ini maka saya mengubah variabel classpath kembali (ke 4.1.0) dan dibangun kembali dan jatuh lagi dengan kesalahan yang belum diinisialisasi.
Masalah Root
sumber
gunakan com.google.gms: google-services: 4.0.1 'bukan 4.1.0
sumber
berubah
untuk
Bekerja untukku
sumber
Dengan mengikuti jawaban @Gabriel Lidenor, menginisialisasi aplikasi dengan konteks tidak berfungsi dalam kasus saya. Bagaimana jika Anda mencoba membuat aplikasi-firebase tanpa google-service.json? Jadi sebelum menginisialisasi sejumlah aplikasi firebase, terlebih dahulu perlu diinisialisasi sebagai;
sumber
Kita harus menginisialisasi Firebase di fungsi onCreate dari Kelas Aplikasi.
}
Kode dalam file manifes: -
sumber
Alasan dan solusi: Ini adalah kesalahan umum yang akan Anda dapatkan sebagian besar waktu. Alasan: ketika Anda mengintegrasikan proyek Anda dengan Firebase, ia menambah dependensi
dan classpath
classpath 'com.google.gms:google-services:4.1.0'
Anda hanya perlu memperbaruinya
Ini adalah bagaimana Anda dapat memperbarui
pergi ke gradle sript dan lakukan ini
sumber