语境:
我正在尝试为我的应用设置 Google Analytics。 (有4个自定义 buildTypes
和不止一些 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
).但是,我的其他口味有不同的 applicationId。
我按照 官方开发指南 进行设置。
在 Build Variants Tab
(具有不同的 applicationId
(包名称)中选择任何其他构建变体时,我得到的错误如下:
错误:任务“:app:processAllcategoriesDebugfreeGoogleServices”执行失败。
找不到与包名称“com.my.app.package.name.debug”匹配的客户端
错误信息说明:
In the task name in the error message above Debugfree
is my custom buildType
and Allcategories
is one of my 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
。我可以手动添加多个包名称以适用于所有构建变体吗?如果是,该怎么做?在文档中找不到任何说明。
原文由 Viral Patel 发布,翻译遵循 CC BY-SA 4.0 许可协议
发现这个:
资源
来源 2