Context:
I'm trying to set up Google Analytics for my app. (having 4 custom buildTypes
and more than a few productFlavors
)
It works fine when I select the Build Variant
which has the applicationId
set to com.my.app.package.name
(the package name used when generating the google-services.json
). But, my other flavors have different applicationIds.
I followed the offical devguide to set it up.
Error I get when any another build variant is selected in Build Variants Tab
(which has a different applicationId
(package name) is as follows:
Error:Execution failed for task ':app:processAllcategoriesDebugfreeGoogleServices'.
No matching client found for package name 'com.my.app.package.name.debug'
Explanation of Error Message:
In the task name in the error message above Debugfree
is my custom buildType
and Allcategories
is one of my productFlavors
.
I understand the error and know the package name is different from what i used when generating the json, but that is what I'm trying to figure a way around.
Problem:
Now, the google-services.json
resides in the app
folder and hence I am not being able to separate them out for each product flavor by dropping them in the flavor specific source set folder.
Questions:
- My custom
byildType
for debugging suffixes.debug
to theapplicationId
(package name). Is there a way I can make it work with thegoogle-services.json
which has my releaseapplicationId
(i.e. without the suffix.debug
) - Is there a way to have multiple product flavors configured in the same
google-services.json
file without using separate files and tasks to copy the required file toapp
folder. I know it can be done usingtask
as mentioned in this post. Is there a simpler way to just have one file or pick right file based on gradle configuration? - I see the
package_name
field ingoogle-services.json
has the package namecom.my.app.package.name
. Can I add multiple package names manually to work for all build variants? If yes, how to do that? Could not find any instructions in documentations.
No matching client found for package name 'com.tf' I am pretty sure that The "package_name" in google-services.json is not matching with your "applicationId" in app gradle.
app gradle:
google-services.json
Solution: Just make sure the
package_name
andapplicatoinId
must be same.make sure your package name in "google-services.json" file is same with your apps's package name.
I also get this issue when i change package name of my application.
In your android studio project find "google-services.json" file. Open it. and check whether package name of your application is same as written in this file.
The package name of your application and package name written in "google-services.json" file must be same.
Open your Google-services.json file and look for this section in the file:
check whether the package is the same as your package name. Mine was different, so I changed it and it worked.
make sure Gradle.app's applicationId is same your package name. my problem was this and I solved this way
I solved the same problem by re-syncing the file
google-services.json
.