Konteks:
Saya mencoba menyiapkan Google Analytics untuk aplikasi saya. (memiliki 4 kebiasaan buildTypes
dan lebih dari beberapa productFlavors
)
Ini berfungsi dengan baik ketika saya memilih Build Variant
yang memiliki applicationId
set ke com.my.app.package.name
(nama paket yang digunakan saat membuat google-services.json
). Tapi, rasa saya yang lain memiliki applicationIds yang berbeda.
Saya mengikuti devguide resmi untuk mengaturnya.
Kesalahan yang saya dapatkan saat varian build lain dipilih Build Variants Tab
(yang memiliki applicationId
(nama paket) berbeda adalah sebagai berikut:
Kesalahan: Eksekusi gagal untuk tugas ': aplikasi: processAllcategoriesDebugfreeGoogleServices'.
Tidak ditemukan klien yang cocok untuk nama paket 'com.my.app.package.name.debug'
Penjelasan Pesan Kesalahan:
Dalam tugas nama dalam pesan kesalahan di atas Debugfree
adalah kebiasaan saya buildType
dan Allcategories
merupakan salah satu dari saya productFlavors
.
Saya mengerti kesalahan dan tahu nama paket berbeda dari apa yang saya gunakan saat membuat json, tapi itulah yang saya coba cari jalan keluar.
Masalah:
Sekarang, google-services.json
berada di app
folder dan karenanya saya tidak dapat memisahkan mereka untuk setiap rasa produk dengan menjatuhkan mereka di folder set sumber rasa khusus.
Pertanyaan:
- Kustom saya
byildType
untuk debugging sufiks.debug
keapplicationId
(nama paket). Apakah ada cara saya dapat membuatnya bekerja dengangoogle-services.json
yang memiliki rilis sayaapplicationId
(yaitu tanpa akhiran.debug
) - Apakah ada cara untuk mengkonfigurasi beberapa rasa produk dalam
google-services.json
file yang sama tanpa menggunakan file dan tugas terpisah untuk menyalin file yang diperlukan keapp
folder. Saya tahu itu bisa dilakukan menggunakantask
seperti yang disebutkan dalam posting ini . Apakah ada cara yang lebih sederhana untuk hanya memiliki satu file atau memilih file yang tepat berdasarkan konfigurasi gradle? - Saya melihat
package_name
bidang dalamgoogle-services.json
memiliki nama paketcom.my.app.package.name
. Bisakah saya menambahkan beberapa nama paket secara manual agar berfungsi untuk semua varian versi? Jika ya, bagaimana cara melakukannya? Tidak dapat menemukan petunjuk dalam dokumentasi.
sumber
Jawaban:
Periksa nama paket Anda di google-services.json Anda harus sama dengan nama paket lokal aplikasi Anda
Contoh
Dalam hal ini nama paket lokal saya adalah com.my.app.package.name demikian juga saya telah mengubah nama paket saya di google-services.json dengan nama paket lokal saya
sumber
Menemukan ini:
Sumber
Sumber 2
sumber
Tidak ada klien yang cocok dengan nama paket 'com.tf' Saya cukup yakin bahwa "package_name" di google-services.json tidak cocok dengan "applicationId" Anda di app gradle.
tingkat aplikasi:
google-services.json
Solusi : Pastikan saja
package_name
danapplicationId
harus sama.sumber
application id
di app Gradle dipaku itupastikan nama paket Anda di file "google-services.json" sama dengan nama paket aplikasi Anda.
sumber
Saya telah menemukan solusinya:
Kita harus membuat dua "aplikasi" di proyek firebase, dan kemudian kita dapat mengunduh file json dari satu aplikasi apa pun (saya mengunduh dari aplikasi yang diberi rasa). Ini akan berisi data untuk kedua aplikasi. Kami cukup menyalin file json ke direktori root aplikasi.
Sumber: https://firebase.googleblog.com/2016/08/organizing-your-firebase-enabled-android-app-builds.html
sumber
Anda perlu menempatkan
google-services.json
keapp/
dir. Dan untuk setiap tipe build, harus ada director yang sesuai diapp/src
folder.Misalnya, jika Anda memiliki rilis dan debug:
Di semua file google-services.json Anda harus menentukan yang benar
package_name
sesuai dengan tipe build.Misalnya, di dalam direktori debug harus seperti
{com.myapp}.debug
sumber
"client"
di array (tambahkan koma di antara elemen) dan ubah hanya"package_name"
nilai elemen baru untuk menyertakan.debug
akhiran. Kemudian bangun kembali. Ini bekerja untuk saya di AS 2.3.3.Kesalahan ini terjadi ketika Anda memiliki file Google Services Json yang diunduh di proyek Anda yang nama paketnya tidak cocok dengan nama paket proyek Anda .
Baru-baru ini berganti nama menjadi nama paket proyek?
Itu memperbarui semua kelas tetapi bukan File Gradle . Jadi periksa apakah nama paket Anda benar di Gradle Anda, dan mungkin Manifest juga.
sumber
Lakukan langkah di bawah ini.
1). Periksa
applicationId
digradle
file tingkat Aplikasi ,2). Periksa
package_name
digoogle-services.json
file Anda ,3). Periksa
package
diAndroidManifest
file Andadan untuk konfirmasi penuh buat nama direktori paket kerja Anda yaitu ("com.example.app") juga sama.
sumber
package
manifes (dan semua file di semua paket), karenaapplicationId
akan mengubah id aplikasi.Pertama, tambahkan akhiran ke paket aplikasi di Gradle:
Ini akan menyebabkan paket Anda dinamai
Lalu buka Firebase di bawah proyek Anda saat ini dan tambahkan aplikasi android lain dengan nama paket ini.
Kemudian ganti file google-services.json yang ada dengan yang baru yang Anda hasilkan dengan aplikasi baru di dalamnya.
Maka Anda akan berakhir dengan sesuatu yang memiliki beberapa bagian "client_info". Jadi Anda harus berakhir dengan sesuatu seperti ini:
sumber
periksa apakah
client_id
danpackage_name
di google-services.json memiliki nilai yang benar sesuai dengan nama paket Anda.Anda harus menambahkan file yang disebutkan ke direktori rasa dengan nama paket yang sesuai di bidang
client_id
danpackage_name
.sumber
1. Verifikasi nama Paket dan ID Aplikasi harus sama
2. Verifikasikan nama paket google-services.json yang tersedia di folder aplikasi
sumber
Pastikan Anda mengganti nama ApplicationId dalam file gradle setelah mengganti nama paket Anda
sumber
Buka file Google-services.json Anda dan cari bagian ini di file:
periksa apakah paket itu sama dengan nama paket Anda. Punyaku berbeda, jadi aku mengubahnya dan berhasil.
sumber
Saya datang dari reaksi asli tetapi saya pikir ini berlaku untuk pertanyaan ini juga. Untuk menentukan.
Dalam
android/app/build.gradle
pencarian file untukapplicationId
(dalamandroid
,defaultConfig
)dan memastikan bahwa nilainya sama dengan ini
client[0]client_info.android_client_info.package_name
sebagai nilai di dalamnya
google-services.json
.sumber
Anda juga perlu mengubah nama paket di google-services.json
sumber
Jika nama paket Anda pada file Google-services.json tidak apa-apa, Buka file gradle.properties. Kemudian ubah APPLICATION_ID = "com.yourpackage.name" Anda
sumber
Saya pikir Anda telah menambahkan file json firebase "google-services" .json dengan file baru. Pastikan untuk membuat file baru periksa tautan tentang cara membuat file json dari firebase dan itu harus sesuai dengan nama paket Anda
Hal kedua adalah bahwa jika Anda mengubah nama paket gunakan opsi "ganti di jalur" ketika Anda mengklik kanan di bawah file ketika Anda memilih proyek dari drop down. Anda harus mencari nama paket di seluruh proyek dan menggantinya!
Semoga ini membantu !
sumber
jika tidak ada yang berhasil untuk salah satu dari kalian, masalah saya adalah dengan nama paket yang tidak dimulai dengan 'com'. mengubahnya, sekarang berfungsi.
berharap itu bisa membantu
sumber
pastikan applicationId Gradle.app sama dengan nama paket Anda. masalah saya adalah ini dan saya menyelesaikannya dengan cara ini
sumber
buka direktori proyek Anda dan buat folder di jalur app / src yang menamai rasa produk Anda (seperti Alpha, Beta, Store atau apa pun nama rasanya). lalu salin file google-services.json Anda ke setiap folder. jangan lupa untuk mengubah bidang "package_name" pada file google-services.json setiap rasa produk Anda yang Anda subfolder.
sumber
Buka file google-services.json dan di bagian klien periksa nama paket dan bandingkan dengan nama paket Aplikasi jika berbeda maka ubah nama paket klien sesuai dengan nama paket aplikasi Anda.
file google-services.json-> "package_name": "com.example.application.tracker"
Nama paket aplikasi-> paket "com.example.application.tracker";
sumber
Saya menyelesaikannya dengan membuat dua sumber, satu gratis dan satu dibayar. Kedua folder ini akan berisi kode java dan file sumber daya yang diperlukan, yang akan diedit dengan persyaratan rasa tertentu. Misalnya, Anda ingin menghapus Kode AdMob di Paid baik dari Java Classes dan Layout Files.
sumber
Saya memecahkan masalah yang sama dengan menyinkronkan kembali file
google-services.json
.sumber
google-services.json
.Saya memecahkan masalah yang sama di sini adalah solusi sederhana: ketika Anda membuat koneksi firebase ikuti panduan ini:
Tambahkan nama aplikasi Anda di firebase
Tambahkan nama pakage aplikasi Anda (tulis nama pakage yang sama, yang Anda gunakan di aplikasi)
ketika firebase membuat file google-services.json cukup unduh dan tempel di folder aplikasi Anda
Sinkronkan proyek Anda Masalah sudah dipecahkan :)
Terima kasih
sumber
Saya juga mendapatkan masalah ini ketika saya mengubah nama paket aplikasi saya.
Di proyek studio android Anda, temukan file "google-services.json". Buka. dan periksa apakah nama paket aplikasi Anda sama dengan yang tertulis dalam file ini.
Nama paket aplikasi Anda dan nama paket yang ditulis dalam file "google-services.json" harus sama.
sumber
Ini berarti file google-services.json Anda juga bukan milik aplikasi Anda (Apakah Anda mengunduh google-services.json untuk aplikasi lain?) ... jadi untuk menyelesaikannya lakukan hal berikut:
1: Masuk ke Firebase dan buka proyek Anda. 2: Klik ikon Pengaturan dan pilih Pengaturan proyek. 3: Di kartu Aplikasi Anda, pilih nama paket aplikasi yang Anda perlukan untuk file konfigurasi dari daftar. 4: Klik google-services.json. Setelah unduhan selesai, tambahkan google-services.json baru ke folder root proyek Anda, ganti yang sudah ada..atau hapus saja yang lama. Sangat normal untuk mengunduh google-services.json untuk proyek pertama Anda dan kemudian menganggap atau melupakan bahwa google-services.json khusus ini dirancang untuk proyek Anda saat ini saja, karena tidak ada yang lain karena semua proyek memiliki nama paket yang unik.
sumber
Periksa
applicationIdSuffix
file build.gradle aplikasi Anda. Lihat apakah itu menggabungkan teks apa pun dengan AndaapplicationId
. Jika demikian, hapus.sumber
Anda dapat melakukannya untuk menyaring masalah ini.
sumber
Sederhana saja. Keluar dari Android Studio, tutup sepenuhnya. Buka kembali Android studio dan sekali lagi Masuk ke Android Studio.
Kemudian coba sambungkan ke firebase dari IDE studio Android. Prosedur ini berhasil untuk saya.
sumber
Mudah untuk menyelesaikannya: pastikan nama paket di file app / build.gradle Anda adalah nama paket yang sama dengan yang ada di file App Manifest Anda. dan memastikan nama paket sudah benar. Itu harus menyelesaikan ini
sumber