google-services.json在创建我的应用程序的产品风格时会出现问题,可能会修复?

时间:2016-06-20 02:13:32

标签: android json gradle google-play-services

我正在开发一款需要两个productFlavor的应用,所以我用这种方式修改了我的gradle文件:

productFlavors {
    free {
        applicationId = "com.udacity.gradle.builditbigger.free"
    }

    paid {
        applicationId = "com.udacity.gradle.builditbigger.paid"
    }
}

现在我在我的应用中使用Google广告,他们提供了google-services.json文件,现在这会造成很多麻烦。 由于这不是新事物,我尝试了这个thread

我将我的依赖项修改为:

dependencies {
    classpath 'com.android.tools.build:gradle:2.1.0'
    classpath 'com.google.gms:google-services:2.1.2'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

现在问题是,当我同步gradle文件时,相应的免费目录和付费版本都没有创建,我也收到错误

  

错误:任务执行失败   ':应用程序:processPaidReleaseGoogleServices'。

     
    

找不到包名称'com.udacity.gradle.builditbigger.paid'的匹配客户

  

解析json文件:D:\ud867\FinalProject\app\google-services.json失败。

现在,如果有人遇到过类似的问题,请分享您为解决问题所采用的修复程序,谢谢!

1 个答案:

答案 0 :(得分:0)

如果您已经以这种方式修改了json文件:

app/src/
flavor1/google-services.json
flavor2/google-services.json
...

Adding the JSON File中讨论过。

按以下格式修改gradle文件:

android {

    def myFlavors = [
        flavor1: [
            packageName: "com.example.flavor1"
        ],
        flavor2: [
            packageName: "com.example.flavor2"
        ]
    ]

    productFlavors {
        myFlavors.each { name, config ->
            "$name" {
                packageName config.packageName
            }
        }
    }

}

在此SO帖子中给出 - Dynamically generating product flavors可能有所帮助。