内容:
我正在尝试为我的应用设置Google Analytics(分析)。(具有4个自定义功能,buildTypes
并且不止几个productFlavors
)
当我选择了它工作正常,Build Variant
它具有applicationId
设置为com.my.app.package.name
(生成时使用的包名google-services.json
)。但是,我的其他口味具有不同的applicationIds。
我按照官方的devguide进行了设置。
当选择了另一个构建变体Build Variants Tab
(具有不同的applicationId
(程序包名称)时,出现以下错误:
错误:任务':app:processAllcategoriesDebugfreeGoogleServices'的执行失败。
找不到与包名称'com.my.app.package.name.debug'匹配的客户端
错误消息说明:
在上面错误消息中的任务名称中,这Debugfree
是我的自定义内容buildType
,Allcategories
也是我的其中一项productFlavors
。
我理解该错误,并且知道包名称与生成json时使用的包名称不同,但这就是我试图解决的方法。
问题:
现在,这些google-services.json
驻留在app
文件夹中,因此我无法通过将它们放入特定于风味的源集文件夹中来针对每种产品风味将它们分开。
问题:
- 我
byildType
用于调试的自定义后缀.debug
为applicationId
(程序包名称)。有什么办法可以使它与google-services.json
已发布的版本一起工作applicationId
(即没有后缀.debug
) - 有没有一种方法可以在同一
google-services.json
文件中配置多个产品风味,而无需使用单独的文件和任务将所需的文件复制到app
文件夹。我知道这是可以做到用task
作为中提到的这个帖子。是否有更简单的方法来基于gradle配置仅拥有一个文件或选择正确的文件? - 我看到其中的
package_name
字段google-services.json
具有包名称com.my.app.package.name
。我可以手动添加多个软件包名称以适用于所有构建版本吗?如果是,该怎么做?在文档中找不到任何说明。