0

更新 gradle 后,我No matching client found for package name在尝试构建我们的release构建类型时遇到错误。我们目前有一个google-services.json包含用于我们发布版本的客户端,一个包含用于所有其他测试环境的客户端。我们过去以以下方式组织文件:

/src
    /{productFlavor}
        google-services.json
        /release
            google-services.json      

这一直很好,直到我们最近将 gradle 升级到 5.4.1。现在,当尝试构建发布时,Google 服务插件似乎只搜索第一个文件并关闭第二个文件。

当我删除google-services.json测试环境时,发布构建类型再次起作用。有没有办法只用两个google-services.json文件来实现这一点,还是我需要为位于相应目录中的每种构建类型设置一个文件?

4

1 回答 1

0

google-services.json对于位于相应目录中的每种构建类型,您需要有一个,或者必须提供默认的一个。引用自官方文档

google-services.json文件一般放在app/ 目录中(Android Studio 应用模块的根目录)。从 2.2.0 版开始,插件支持构建类型和产品风味特定的 JSON 文件。以下所有目录结构均有效:

// dogfood and release are build types.
app/
    google-services.json
    src/dogfood/google-services.json
    src/release/google-services.json
    ...

当使用产品风格时,这些更复杂的目录结构也是有效的。

// free and paid are product flavors.
app/
    google-services.json
    src/dogfood/paid/google-services.json
    src/release/free/google-services.json
    ...
于 2019-11-11T12:48:44.103 回答