FirebaseApp default tidak diinisialisasi

236

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

Roy Solberg
sumber
1
Coba cari SO untuk "Default FirebaseApp tidak diinisialisasi". Ada banyak keadaan berbeda yang mungkin menyebabkan hal ini.
Doug Stevenson
Ya, saya punya. Tidak menemukan apa pun dengan keadaan yang cocok, jadi itu sebabnya saya bertanya. Bisa disebutkan di Q.
Roy Solberg
Apakah Anda dapat menghasilkan contoh minimal yang mereproduksi masalah ini, dan menunjukkan manifes, build.gradle, dan Activity?
Doug Stevenson
Apakah Anda menginisialisasi Firebase di ContentProvider atau di kelas Aplikasi Anda?
Andrew Kelly
2
Saya mengalami masalah yang sama untuk sebagian kecil pemain. Menggunakan 10.0.1 terbaru
Dmitry

Jawaban:

136

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:

FirebaseApp.initializeApp(this);
Gabriel Lidenor
sumber
3
@Henrik Hanya di ExtendedApplication.onCreate ().
Roy Solberg
5
Yah, ini tidak berhasil untuk saya (masih beberapa crash dalam produksi). Saya akan mencoba menambahkan kode init ke Aktivitas pertama saya onCreate ().
Sébastien
77
Penting untuk dicatat bahwa selain inisialisasi ini, layanan google harus diterapkan sebagai berikut:apply plugin: 'com.google.gms.google-services'
pamobo0609
2
di file mana saya harus menambahkan MainActivity.java ini?
Abhit
23
Bagi saya versi com.google.gms: google-services: 4.1.0 mogok tetapi com.google.gms: google-services: 4.0.1 berfungsi
Igor Čordaš
346

Pastikan untuk menambahkan build.gradle tingkat root Anda

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

Kemudian, di file Gradle tingkat modul Anda (biasanya aplikasi / build.gradle), tambahkan baris 'apply plugin' di bagian bawah file untuk mengaktifkan plugin Gradle:

apply plugin: 'com.android.application'

android {
  // ...
}

dependencies {
  // ...
  implementation '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'

Seperti yang dikatakan dalam dokumentasi . Saya memiliki pengecualian seperti pada pertanyaan di atas ketika lupa menambahkan ini di file gradle saya.

Leonid
sumber
2
Periksa, dan periksa. Hanya memverifikasi bahwa kita file Gradle seperti yang dijelaskan. Saya harus menyebutkan bahwa kode itu berfungsi baik untuk banyak pengguna.
Roy Solberg
3
'apply plugin:' com.google.gms.google-services 'bekerja untuk saya.
Rockyfish
7
Tidak membantu dalam kasus saya. Dan masalah ini mempengaruhi persentase pemain yang sangat kecil. Jadi, kemungkinan besar itu bukan masalah dengan kode atau pengaturan, tetapi dengan interoperabilitas dengan layanan play yang diinstal pada perangkat pengguna :-(
Dmitry
2
terima kasih :) Saya lupa menambahkan baris ini di build.gradle: apply plugin: 'com.google.gms.google-services'
Richi
1
Luar biasa .. analisis hebat
Sandip Wankhede
126

Tampaknya google-services:4.1.0memiliki masalah. Baik downgrade ke

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

atau tingkatkan ke

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

dependencies {
    classpath 'com.android.tools.build:gradle:3.3.0-alpha08'
    classpath 'com.google.gms:google-services:4.2.0'
    /*classpath 'com.google.gms:google-services:4.1.0' <-- this was the problem */
}

Semoga ini bisa membantu

Ammar Bukhari
sumber
9
Itu juga bekerja untuk saya. Tampaknya ada beberapa masalah dengan 4.1.0
iuq
Saya baru saja menemukan masalah ini juga, dan selain itu menemukan bahwa sudah ada pembaruan yang tersedia di Android Studio 3.2 untuk Android SDK Build-Tools (Tools -> SDK Manager -> SDK Tools), menerapkan pembaruan ini biarkan saya gunakan classpath 'com.google.gms:google-services:4.1.0'lagi. YMMV.
IainCunningham
2
omg, secara harfiah menghabiskan waktu lebih dari 2 minggu untuk mendapatkan ini berfungsi, dan semua yang harus saya lakukan adalah menurunkan versi dari 4.1.0 ke 4.0.0?!?!?! Terima kasih banyak
Oliver Spryn
4
sesuai dengan masalah pelacak akan diperbaiki di 4.2.0
kuelye
Saya baru saja menurunkan com.google.gms: google-services: 4.1.0 ke om.google.gms: google-services: 4.0.0 dan berfungsi. Itu menyelamatkan hari saya.
Anil
51

Saya melewatkan baris di bawah ini di file app / build.gradle saya

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

dan sekali proyek bersih dan jalankan lagi. Itu memperbaikinya bagi saya.

varotariya vajsi
sumber
18
    classpath 'com.google.gms:google-services:4.1.0'

punya masalah. alih-alih gunakan:

    classpath 'com.google.gms:google-services:4.2.0'
Alp Altunel
sumber
15

Hal pertama yang perlu Anda tambahkan com.google.gms: google-services: xxx di root level 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
}

}

Setelah itu Anda perlu menerapkan plugin: 'com.google.gms.google-services' di app / 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'

dan jika masih Anda mendapatkan masalah maka Anda perlu menambahkan

FirebaseApp.initializeApp(this);

sebelum Anda menelepon

FirebaseInstanceId.getInstance().getToken();
ankurdayalsingh
sumber
12

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

com.google.gms:google-services:4.1.0//BAD
com.google.gms:google-services:4.0.1//GOOD

EDIT 10/17/18: Setelah memperbarui ketergantungan berikut lagi

implementation 'com.google.firebase:firebase-ads:17.0.0'
implementation 'com.google.firebase:firebase-auth:16.0.4'
implementation 'com.google.firebase:firebase-database:16.0.3'
implementation 'com.google.firebase:firebase-core:16.0.4

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

<meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="ca-app-pub-xxxxxx~xxxxxx"/>

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)

MobileAds.initialize(this, ADMOB_APP_ID);

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

public void onAdFailedToLoad(int errorCode){...

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.

Androidcoder
sumber
3
Saya mengalami ini juga. Berharap Google tidak akan merusak build aplikasi saya setiap kali mereka mendorong pembaruan.
Patty P
Hai, saya membuatnya bekerja dengan menambahkan apply plugin: 'com.google.gms.google-services'build.gradle saya (dengan google-services: 4.1.0)
Nicolas Mauti
10

Seperti yang disebutkan oleh @PSIXO dalam komentar, ini mungkin masalah dengan versi ketergantungan dari layanan google. Bagi saya berubah,

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

untuk

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

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.

Aayush Singla
sumber
1
ya bagi saya itu berhasil dengan mengubah versi build ke 4.0.1. Mungkin ada masalah ketergantungan
Abraham Mathew
4
Setelah memperbarui semua versi ke terbaru (4.2.0), itu memecahkan masalah bagi saya
david72
7

Jika Anda menggunakan FirebaseUI , tidak perlu dari FirebaseApp.initializeApp(this);dalam kode Anda sesuai sampel .

Pastikan untuk menambahkan build.gradle tingkat root Anda :

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        ...
        classpath 'com.google.gms:google-services:3.1.1'
        ...
    }
}

Kemudian, di file Gradle tingkat modul Anda :

dependencies {

    ...

    // 1 - Required to init Firebase automatically (THE MAGIC LINE)
    implementation "com.google.firebase:firebase-core:11.6.2"

    // 2 - FirebaseUI for Firebase Auth (Or whatever you need...)
    implementation 'com.firebaseui:firebase-ui-auth:3.1.2'
    ...
}

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

Itu dia. Tidak perlu lagi

Phil
sumber
5

Anda perlu menambahkan ketergantungan buildscript Firebase Gradle di build.gradle (tingkat proyek)

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

dan tambahkan plugin Firebase untuk Gradle di app / build.gradle

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

build.gradle will include these new dependencies:
    compile 'com.google.firebase:firebase-database:11.0.4'

Sumber: Android Studio Assistant

Artificioo
sumber
5

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
4

Dalam kasus saya, plugin Google Services gradle tidak menghasilkan values.xmlfile yang diperlukan dari google-services.jsonfile 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 dari google-sevices.jsonfile Anda :

app/build/generated/res/google-services/{build_type}/values/values.xml

dan / atau

app/build/generated/res/google-services/{flavor}/{build_type}/xml/global_tracker.xml

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).

ITIT
sumber
4

Kami tidak perlu menelepon keFirebaseApp.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.

Rumit Patel
sumber
4

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);

Juan Carlos Iturriagagoitia
sumber
saya menyelesaikan masalah saya setelah menurunkan versi 'com.google.firebase: firebase-core: 16.0.8' to 'com.google.firebase: firebase-core: 16.0.7', terima kasih
Nanda Z
3

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

classpath 'com.android.tools.build:gradle:3.3.0'
classpath 'com.google.gms:google-services:4.1.0'

Setelah

classpath 'com.android.tools.build:gradle:3.3.0'
classpath 'com.google.gms:google-services:3.2.0'

Semoga ini bisa menyelesaikan kesalahan.

Nyonya Nakibul Hassan
sumber
3

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.

dependencies {
    classpath 'com.android.tools.build:gradle:3.3.1'
    classpath 'com.google.gms:google-services:4.2.0'
    }
Himanshu
sumber
3

Salah satu alasan terjadinya hal ini bisa jadi karena lupa menambahkan android.permission.INTERNETizin masukAndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />
bianca
sumber
2

bagi saya itu meningkatkan dependensi com.google.gms: google-services di dalam build.gradle menjadi

buildscript {
repositories {
    jcenter()
    mavenCentral()
    maven {
        url 'https://maven.google.com/'
        name 'Google'
    }
    google()
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.3.2'
    classpath 'com.google.gms:google-services:4.2.0'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
Jmz
sumber
0

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, seperti

  • FCM membutuhkan com.google.android.c2dm.permission.RECEIVEizin yang hanya untuk GCM
  • token menjadi tidak terdaftar setelah pemberitahuan pertama dikirim
  • pesan tidak diterima / onMessageReceived () tidak pernah dipanggil,

Gunakan 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 )

Beeing Jk
sumber
Wah, itu info yang menarik. Dengan masalah yang terjadi pada begitu sedikit orang, sulit untuk mengatakan jika kita telah melihat semua ini. Mungkin kita harus mencoba menghapusnya lagi dan menggunakan versi Gradle yang lebih baru.
Roy Solberg
0

Masalah saya tidak terselesaikan dengan prosedur ini

FirebaseApp.initializeApp(this); 

Jadi saya mencoba sesuatu yang lain dan sekarang firebase saya telah berhasil diinisialisasi. Coba tambahkan berikut ini di app module.gradle

BuildScript{
dependencies {..
classpath : "com.google.firebase:firebase-plugins:1.1.5"
    ..}
}

dependencies {...
implementation : "com.google.firebase:firebase-perf:16.1.0"
implementation : "com.google.firebase:firebase-core:16.0.3"
..}
Fahad
sumber
0

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

Kreker
sumber
0

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:

FirebaseApp default tidak diinisialisasi dalam proses ini. Pastikan untuk memanggil FirebaseApp.initializeApp (Konteks) terlebih dahulu.

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:

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

Ketika saya melakukan itu, saya akhirnya melihat kesalahan yang membantu saya:

File google-services.json tidak ada. Plugin Layanan Google tidak dapat berfungsi tanpanya. Lokasi yang Dicari: C: \ Users \% username% \ AndroidStudioProjects \ TxtFwd \ app \ src \ nullnull \ debug \ google-services.json
C: \ Users \% username% \ AndroidStudioProjects \ TxtFwd \ app \ src \ debug \ nullnull \ google-services.json
C: \ Users \% username% \ AndroidStudioProjects \ TxtFwd \ app \ src \ nullnull \ google-services.json
C: \ Users \% username% \ AndroidStudioProjects \ TxtFwd \ app \ src \ debug \ google- services.json
C: \ Users \% username% \ AndroidStudioProjects \ TxtFwd \ app \ src \ nullnullDebug \ google-services.json
C: \ Users \% username% \ AndroidStudioProjects \ TxtFwd \ app \ google-services.json

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

  • Membangun dengan 4.1.0 tidak memberikan Anda kesalahan yang valid saat dikompilasi sehingga Anda mungkin tidak tahu apa yang sedang terjadi.
  • Berjalan melawan 4.1.0 menyebabkan kesalahan inisialisasi.
raddevus
sumber
0

gunakan com.google.gms: google-services: 4.0.1 'bukan 4.1.0

Tony Macias
sumber
0

berubah

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

untuk

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

Bekerja untukku

Fawad Khan
sumber
Menggunakan versi terbaru berikut ini membantu saya menyelesaikan masalah. Tidak perlu downgrade :) classpath 'com.android.tools.build:gradle:3.4.2' classpath 'com.google.gms: google-services: 4.3.0'
garnet
0

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;

FirebaseOptions options = new FirebaseOptions.Builder().setApplicationId("APP_ID")
                    .setGcmSenderId("SENDER_ID").build();
FirebaseApp.initializeApp(context, options, "[DEFAULT]");
Muhammed Yalçın Kuru
sumber
-1

Kita harus menginisialisasi Firebase di fungsi onCreate dari Kelas Aplikasi.

 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;
}

}

Kode dalam file manifes: -

  <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">
Ashish Saini
sumber
-1

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

implementation 'com.google.firebase:firebase-auth:16.1.0'
implementation 'com.google.android.gms:play-services-auth:16.0.1'

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

Muhammad Ali
sumber