最佳答案
背景:
我试图为我的应用程序设置谷歌分析(有4个自定义buildTypes
和多个productFlavors
)
当我选择Build Variant
时,它工作得很好,其中有applicationId
设置为com.my.app.package.name
(生成google-services.json
时使用的包名)。但是,我的其他口味有不同的应用id。
我使用官方devguide来设置它。
当我在Build Variants Tab
(有不同的applicationId
(包名))中选择任何其他构建变体时,我得到的错误如下:
错误:执行任务失败 应用:processAllcategoriesDebugfreeGoogleServices。< / p >
没有为包名'com.my.app.package.name.debug'找到匹配的客户端
# EYZ0
在上面错误消息中的任务名称中,Debugfree
是我的自定义buildType
, Allcategories
是我的productFlavors
之一。
我理解这个错误,并且知道包的名称与我在生成json时使用的不同,但这就是我试图解决的问题
问题:
现在,google-services.json
位于app
文件夹中,因此我无法通过将它们放在特定于风味的源集文件夹中来将它们分离出来。
问题:
byildType
后缀.debug
到applicationId
(包名)。是否有一种方法,我可以使它与google-services.json
工作,其中有我的发布applicationId
(即没有后缀.debug
)google-services.json
文件中配置多个产品类型,而不使用单独的文件和任务将所需的文件复制到app
文件夹中。我知道可以使用task
完成,正如在这篇文章中提到的那样。有没有一种更简单的方法来只有一个文件或根据gradle配置选择正确的文件?google-services.json
中的package_name
字段的包名为com.my.app.package.name
。我可以手动添加多个包名以适用于所有构建变体吗?如果是,怎么做?在文档中找不到任何说明。