相关疑难解决方法(0)

找不到包名称(Google Analytics)的匹配客户端 - 多个productFlavors和buildTypes

语境:

我正在尝试为我的应用设置Google Analytics.(有4个自定义buildTypes和多个productFlavors)

当我选择Build Variant具有applicationId设置的com.my.app.package.name(生成时使用的包名称)时,它工作正常google-services.json.但是,我的其他风格有不同的applicationIds.

我按照官方偏离进行设置.

选择任何其他构建变体时Build Variants Tab(我有一个不同的applicationId(包名)如下所示的错误如下:

错误:任务':app:processAllcategoriesDebugfreeGoogleServices'的执行失败.

找不到包名称'com.my.app.package.name.debug'的匹配客户端

错误消息的说明:

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

我理解错误并知道包名称与生成json时使用的不同,但这就是我想要解决的问题.

问题:

现在,google-services.json驻留在app文件夹中,因此我无法通过将它们放入特定于风味的源集文件夹中来将它们分离出来.

问题:

  1. 我的自定义byildType调试后缀.debugapplicationId(包名).有没有办法让它可以使用google-services.json我的发布applicationId(即没有后缀.debug)
  2. 有没有办法在同一个google-services.json文件中配置多个产品风格,而不使用单独的文件和任务将所需文件复制到app文件夹.我知道这是可以做到用task作为中提到的这个帖子.是否有更简单的方法可以根据gradle配置选择一个文件或选择正确的文件?
  3. 我看到package_name字段中google-services.json有包名com.my.app.package.name.我可以手动添加多个包名称以适用于所有构建变体吗?如果是的话,怎么做?在文档中找不到任何说明.

android google-analytics gradle android-studio android-productflavors

324
推荐指数
20
解决办法
32万
查看次数