Kontekst:
Próbuję skonfigurować Google Analytics dla mojej aplikacji. (mając 4 niestandardowe buildTypes
i więcej niż kilka productFlavors
)
Działa dobrze, gdy wybieram, Build Variant
który ma applicationId
ustawiony na com.my.app.package.name
(nazwa pakietu używana podczas generowania google-services.json
). Ale moje inne smaki mają różne zastosowania.
Poszedłem za oficjalnym przewodnikiem, aby go skonfigurować.
Występuje błąd, gdy wybrany jest inny wariant kompilacji w Build Variants Tab
(który ma inny applicationId
(nazwa pakietu):
Błąd: wykonanie nie powiodło się dla zadania „: app: processAllcategoriesDebugfreeGoogleServices”.
Nie znaleziono pasującego klienta dla nazwy pakietu „com.my.app.package.name.debug”
Objaśnienie komunikatu o błędzie:
W nazwie zadania w powyższym komunikacie o błędzie Debugfree
jest mój niestandardowy buildType
i Allcategories
jest jednym z moich productFlavors
.
Rozumiem błąd i wiem, że nazwa pakietu różni się od tego, którego użyłem podczas generowania JSON, ale staram się to rozwiązać.
Problem:
Teraz google-services.json
rezyduje w app
folderze i dlatego nie jestem w stanie ich rozdzielić dla każdego smaku produktu, upuszczając je w folderze zestawu źródłowego określonego smaku.
Pytania:
- Mój zwyczaj
byildType
debugowania sufiksów.debug
doapplicationId
(nazwa pakietu). Czy jest jakiś sposób, aby zmusić go do pracy zgoogle-services.json
wersją, która ma moje wydanieapplicationId
(tj. Bez sufiksu.debug
) - Czy istnieje sposób skonfigurowania wielu smaków produktu w tym samym
google-services.json
pliku bez użycia osobnych plików i zadań do skopiowania wymaganego pliku doapp
folderu. Wiem, że można to zrobić za pomocą,task
jak wspomniano w tym poście . Czy istnieje prostszy sposób, aby mieć tylko jeden plik lub wybrać odpowiedni plik na podstawie konfiguracji stopni? - Widzę, że
package_name
polegoogle-services.json
ma nazwę pakietucom.my.app.package.name
. Czy mogę ręcznie dodać wiele nazw pakietów, aby działały dla wszystkich wariantów kompilacji? Jeśli tak, jak to zrobić? Nie można znaleźć żadnych instrukcji w dokumentacji.