背景:

我试图为我的应用程序设置谷歌分析(有4个自定义buildTypes和多个productFlavors)

当我选择有applicationId设置为com.my.app.package.name(生成google-services.json时使用的包名)的Build Variant时,它工作得很好。但是,我的其他口味有不同的应用id。

我按照官方的开发指南来设置它。

当在build variables选项卡中选择任何其他构建变量时(具有不同的applicationId(包名)),我得到的错误如下:

错误:任务执行失败 “应用程序:processAllcategoriesDebugfreeGoogleServices”。 没有为包名'com.my.app.package.name.debug'找到匹配的客户端

错误信息解释:

在上面错误消息中的任务名称中,Debugfree是我的自定义buildType, Allcategories是我的productFlavors之一。

我理解这个错误,知道包的名称与我在生成json时使用的不同,但这就是我试图解决的问题。

问题:

现在,谷歌的服务。json驻留在app文件夹中,因此我无法通过将它们放入特定于风味的源集文件夹中将它们分离出来。

问题:

My custom byildType for debugging suffixes .debug to the applicationId (package name). Is there a way I can make it work with the google-services.json which has my release applicationId (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 to app folder. I know it can be done using task 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 in google-services.json has the package name com.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.


当前回答

我认为你已经添加了firebase json文件“google-services”。Json和新文件。确保创建一个新文件,检查如何从firebase创建json文件的链接,它应该与你的包名匹配

第二件事是,如果你要改变包的名称,当你从下拉菜单中选择项目时,右键单击文件下的“替换路径”选项。你必须在整个项目中搜索包名并替换它!

希望这能有所帮助!

其他回答

你需要放置google服务。Json到app/ dir。对于每一种构建类型,都应该有一致的主管 app / src文件夹。

例如,如果你有release和debug:

app/google-services.json
app/src/debug/google-services.json

在谷歌的所有服务中。您应该根据构建类型指定正确的package_name。

例如,在调试目录中,它应该像{com.myapp}.debug

解决这个问题很简单:只要确保你的app/build中的包名。gradle文件与你的App Manifest文件中的包名相同。并确保包名称正确。这就能解决问题了

我忘记在Firebase中添加SHA证书指纹。我只是重新导入了谷歌的服务。Json,它工作了

确保您的包名称在“google-services”中。Json”文件与应用程序的包名称相同。

我认为你已经添加了firebase json文件“google-services”。Json和新文件。确保创建一个新文件,检查如何从firebase创建json文件的链接,它应该与你的包名匹配

第二件事是,如果你要改变包的名称,当你从下拉菜单中选择项目时,右键单击文件下的“替换路径”选项。你必须在整个项目中搜索包名并替换它!

希望这能有所帮助!