我正在开发一款需要两个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
失败。
现在,如果有人遇到过类似的问题,请分享您为解决问题所采用的修复程序,谢谢!
答案 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可能有所帮助。