Android: ข้อผิดพลาด buildTypes applicationIdSuffix

ฉันต้องการตั้งค่าโปรเจ็กต์เพื่อสร้าง APK สองตัวที่แตกต่างกันซึ่งสามารถติดตั้งบนอุปกรณ์เดียวกันได้ - หนึ่งในนั้นคือ apk ที่ใช้งานจริง และอันที่สองคือ apk ดีบัก เมื่อต้องการทำสิ่งนี้ ฉันได้กำหนดไว้ใน build.gradle:

buildTypes {
        release {

        }

        debug {
            applicationIdSuffix = ".debug"
        }

    }

แต่เมื่อฉันพยายามซิงค์การไล่ระดับ ฉันได้รับข้อผิดพลาด:

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

นอกเหนือจากส่วน buildTypes ของ build.gradle ฉันควรทำอะไรอีกเพื่อให้ทำงานได้อย่างถูกต้อง


comment
งาน gradle ใดที่ทำให้เกิดข้อผิดพลาดนี้   -  person jbarat    schedule 27.07.2016
comment
org.gradle.api.tasks.TaskExecutionException: การดำเนินการล้มเหลวสำหรับงาน ':myApp:processDebugGoogleServices'   -  person Jon    schedule 27.07.2016


คำตอบ (1)


คุณต้องระบุ google-service.json สำหรับบิวด์ทุกรสชาติ ในกรณีของคุณ คุณต้องมีการแก้ไขข้อบกพร่อง

สร้างอันใหม่ด้วยชื่อแพ็คเกจใหม่ (ชื่อแพ็คเกจเดิม + .debug) จากนั้นใส่ json ลงใน app/src/debug/

person jbarat    schedule 27.07.2016
comment
คุณสามารถทำซ้ำ google-service.json ที่มีอยู่ของคุณและเพียงแก้ไข package_name ให้เป็น com.foo.bar.debug developers.google.com/android/guides/ - person david_adler; 06.06.2019
comment
ขอบคุณ @david_adler นั่นยังอธิบายวิธีจัดการกับรสชาติต่างๆ นั่นคือสิ่งที่ฉันต้องการเลย - person Fran Marzoa; 18.09.2019
comment
พยายามคัดลอกบริการของ Google ฉันยังคงได้รับข้อผิดพลาดนี้ - person giorgio79; 01.11.2020
comment
ไม่ได้ผล การเพิ่มชื่อแพ็กเกจ +.debug จะทำให้ไคลเอ็นต์ oauth เสียหายด้วย Firebase เป็นต้น - person giorgio79; 02.11.2020