【发布时间】:2021-10-08 16:11:17
【问题描述】:
上下文:
我正在尝试为我的应用设置 Google Analytics。 (有 4 个自定义 buildTypes 和多个 productFlavors)
当我选择applicationId 设置为com.my.app.package.name(生成google-services.json 时使用的包名称)的Build Variant 时,它工作正常。但是,我的其他风格有不同的 applicationId。
我按照offical 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(包名)的后缀。有没有办法让它与我的发行版applicationId的google-services.json一起工作(即没有后缀.debug) - 有没有办法在同一个
google-services.json文件中配置多个产品风格,而无需使用单独的文件和任务将所需文件复制到app文件夹。我知道可以使用task来完成,如this post 中所述。有没有一种更简单的方法来只拥有一个文件或根据 gradle 配置选择正确的文件? - 我看到
google-services.json中的package_name字段具有包名称com.my.app.package.name。我可以手动添加多个包名称以适用于所有构建变体吗?如果是,该怎么做?在文档中找不到任何说明。
【问题讨论】:
-
您是否找到了特别针对您的第三个问题的解决方案?
-
我也有类似的情况。我只需要对产品发布风味版本之一的分析支持。我可以 limit added dependency 到 prod-flavour 但它仍然会搜索正确的包作为子文件的一部分。任何建议!
-
我也面临同样的问题,如果有人找到解决方案,请告诉我?
-
就我而言,我只是更改了包名
-
如果您在应用程序中使用 Firebase,然后将您的新 applicationId 添加为子应用程序(添加应用程序)问题将解决
标签: android android-studio gradle google-analytics android-productflavors