Gradle 插件 google-services 不适用于 gradle-experimental:0.6.0-alpha7

Gradle plugin google-services does not work with gradle-experimental:0.6.0-alpha7

我想使用 gradle-experimental:0.6.0-alpha7 在 Android Studio 1.5.1 中使用 NDK 构建集成。 但是现在我的 google-services.json 不再转换为例如用于分析的 R.xml.global_tracker。

我用

classpath 'com.android.tools.build:gradle-experimental:0.6.0-alpha7'
classpath 'com.google.gms:google-services:2.0.0-alpha6' 

在我的全局 build.gradle 和

apply plugin: 'com.android.model.application'
apply plugin: 'com.google.gms.google-services'

在我的应用 gradle 文件之上。

com.google.gms:google-services 插件曾经在我使用 com.android.tools.build:gradle:1.5.0 时可用,但现在 R.xml.global_tracker 无法使用找到了,当我手动设置跟踪器 ID 时,它没有跟踪任何东西。

google 服务 gradle 插件和 gradle 实验的组合是否有效?

不,实验插件还不能与 google-services gradle 插件一起使用。我已经使用最新的 0.7.2 和 0.8.0-alpha4 实验插件进行了测试,但没有成功。

但是,解决方法对我有用。

根据[=10=的文档],主要是读取google-services.json中,产生两个XML 文件。该文档很好地描述了 XML 和 json 之间的数据映射,因此完全可以手动或通过简单的脚本生成这些 XML 文件。

对于我的情况,我只是下载 google-services.json 文件并手动生成 XML 文件。那么:

  1. values.xml的内容与我现有的app/src/main/res/values/strings合并。xml
  2. global_tracker.xml 文件放在 app/src/main/res/xml/ 下(按照 here 中的建议)

重新构建 apk,它就可以工作了。