Android: kesalahan buildTypes applicationIdSuffix

Saya ingin menyiapkan proyek untuk membangun dua apk berbeda yang dapat diinstal pada perangkat yang sama - salah satunya adalah apk produksi dan yang kedua adalah apk debug. Untuk melakukan ini, saya telah mendefinisikannya di build.gradle:

buildTypes {
        release {

        }

        debug {
            applicationIdSuffix = ".debug"
        }

    }

tetapi ketika saya mencoba menyinkronkan gradle saya mendapatkan kesalahan:

Error:org.gradle.api.GradleException: No matching client found for package name 'mypkg.debug'

Selain bagian buildTypes di build.gradle, apa lagi yang harus saya lakukan agar ini berfungsi dengan baik?


person Jon    schedule 27.07.2016    source sumber
comment
Tugas tingkatan mana yang menimbulkan kesalahan ini?   -  person jbarat    schedule 27.07.2016
comment
org.gradle.api.tasks.TaskExecutionException: Eksekusi gagal untuk tugas ':myApp:processDebugGoogleServices'.   -  person Jon    schedule 27.07.2016


Jawaban (1)


Anda perlu menyediakan google-service.json untuk setiap ragam build. Dalam kasus Anda, Anda memerlukan yang debug.

Hasilkan yang baru dengan nama paket baru (nama paket asli + .debug). Kemudian masukkan json ke dalam app/src/debug/.

person jbarat    schedule 27.07.2016
comment
Tidak apa-apa untuk menduplikasi google-service.json yang ada dan cukup ubah package_name menjadi com.foo.bar.debug. developers.google.com/android/guides/ - person david_adler; 06.06.2019
comment
Terima kasih @david_adler. Itu juga menjelaskan bagaimana menangani rasa yang berbeda, itulah yang saya butuhkan. - person Fran Marzoa; 18.09.2019
comment
Mencoba menyalin layanan Google saja, saya masih mendapatkan kesalahan ini - person giorgio79; 01.11.2020
comment
tidak berhasil. Menambahkan nama paket +.debug akan merusak klien oauth dengan Firebase dll. - person giorgio79; 02.11.2020