当前位置: 首页 > 知识库问答 >
问题:

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

徐博雅
2023-03-14

上下文:

我正在尝试为我的应用程序设置Google Analytics。(具有4个自定义BuildTypes和多个ProductFlavors)

当我选择build variant时,它可以正常工作,因为它将applicationid设置为com.my.app.package.name(生成google-services.json时使用的包名)。但是,我的其他口味有不同的用途。

我跟着警察的向导去布置。

build Variants选项卡中选择任何另一个生成变体(具有不同的ApplicationId(包名))时,我得到的错误如下:

错误:任务“:app:ProcessAllCategoriesDebugFreeGoogleServices”执行失败。

未找到包名称“com.my.app.package.name.debug”的匹配客户端

错误信息说明:

在上面错误消息中的任务名称中,DebugFree是我自定义的BuildTypeAllCategores是我的ProductFlavors之一。

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

问题:

现在,google-services.json驻留在app文件夹中,因此我无法通过将它们放在flavor specific source set文件夹中来区分每个产品的味道。

问题:

  1. 我的自定义byildtype用于调试后缀.debugapplicationid(包名)。有没有一种方法可以让它与google-services.json一起工作,它具有我的发行版applicationid(即没有后缀.debug)
  2. 有没有一种方法可以在同一个google-services.json文件中配置多个产品口味,而不使用单独的文件和任务将所需文件复制到app文件夹。我知道这可以使用task来完成,正如本文中提到的。有没有更简单的方法只拥有一个文件或根据分级配置选择正确的文件?
  3. 我看到google-services.json中的package_name字段具有包名com.my.app.package.name。我可以手动添加多个包名称来为所有生成变体工作吗?如果是,如何做?在文档中找不到任何说明。

共有2个答案

邓昀
2023-03-14

找到以下内容:

google-services.json文件通常放在app/目录中,但从版本2.0.0-alpha3开始,插件添加了对构建类型的支持,这将使以下目录结构有效:

app/src/
    main/google-services.json
    dogfood/google-services.json
    mytype1/google-services.json
    ...

来源

来源2

仲孙景胜
2023-03-14

在google-services.json上检查包名,它应该与应用程序的本地包名相同

示例

"client_info": {
    "mobilesdk_app_id": "1:6596814400689:android:65d6f25f5006145",
    "android_client_info": {
      "package_name": "com.my.app.package.name"
    }

在本例中,我的本地包名是com.my.app.package.name,所以我也用本地包名更改了google-services.json中的包名

 类似资料:
  • 这导致我的gradle构建失败,出现“没有为包名'com.acme.foo'找到匹配的客户端”错误。 我看了这两个:没有找到匹配的客户机包名称(Google Analytics)-多个productFlavors&buildTypes和google-services.json用于不同的productFlavors 不幸的是,这两个问题都没有涉及到为特定产品风味使用不同的应用程序id的问题。我确实试

  • 我的就像bellow: 但让我大喊错误:

  • 再次执行项目D:\Profile\中的任务:[clean,:App:AssembleDebug] 任务:清除最新任务:App:清除任务:App:预生成最新任务:App:预调试生成最新任务:App:预调试生成最新任务:App:GenerateDebugBuildConfig任务:App:CompileDebugAIDL无源任务:App:CompileDebugrenderScript无源任务:App

  • 我试图在Ionic上使用Google Analytics插件,文档代码不适用于我使用: 编辑器说“ts:找不到名称‘GoogleAnalytics’”,但它可以看到一些对象GoogleAnalyticsOriginal,该对象已编译但不工作(在运行时出错)。 这些是系统规范ionic(ionic CLI):4.5.0 离子骨架:离子角3.9.2 @爱奥尼亚/应用程序脚本:3.2.1 Cordova

  • 问题内容: 我正在尝试使用Java通过ssl连接到我的一台服务器。我尝试了很多选择,这是我的最佳尝试: 我使用以下推荐脚本生成了jssecacerts:http : //blogs.oracle.com/andreas/resource/InstallCert.java, 其中包含以下命令:java InstallCert ssl.someUrl.de changeit 之后,我再次执行了命令:

  • 我正在使用 Firebase 云消息传递推送通知。 我遵循了官方网站的所有说明,并成功添加了所有要求。但是我收到错误,无法找到任何解决方案。 我的错误是: 我添加的地方google-service.json看看。 我的项目结构看起来像 我已经在依赖项中添加了: 添加的类路径: 我的基于应用程序的构建。格拉德勒 任何人都可以给我关于这个错误的解决方案?