【发布时间】:2015-06-17 20:19:10
【问题描述】:
我想为我的调试/发布版本变体保留不同的配置,但显然,google-services.json 文件只允许一个。有没有其他选择?有没有办法保存多个文件?
【问题讨论】:
我想为我的调试/发布版本变体保留不同的配置,但显然,google-services.json 文件只允许一个。有没有其他选择?有没有办法保存多个文件?
【问题讨论】:
我正在使用此解决方法来解决与构建风格类似的问题。
风味特定的 google-service.json 文件存储在 /app/src/{flavour-name}/google-service.json 下。要将其复制到 /app 目录,可以将以下代码添加到 /app/build.gradle 文件中:
gradle.taskGraph.beforeTask { Task task ->
if(task.name ==~ /process.*GoogleServices/) {
android.applicationVariants.all { variant ->
if(task.name ==~ /(?i)process${variant.name}GoogleServices/){
copy {
from "/src/${variant.flavorName}"
into '.'
include 'google-services.json'
}
}
}
}
}
在没有风味的情况下(据我了解您的问题),以下 /app/build.gradle 代码 sn-p 在 android studio 测试项目中完成了这项工作:
gradle.taskGraph.beforeTask { Task task ->
if(task.name ==~ /process.*GoogleServices/) {
android.applicationVariants.all { variant ->
if(task.name ==~ /(?i)process${variant.name}GoogleServices/){
copy {
from '.'
into '.'
rename { String fileName ->
fileName.replace("google-services-${variant.name}.json", 'google-services.json')
}
include "google-services-${variant.name}.json"
}
}
}
}
}
sn-p 需要一个 google-services-debug.json 和一个 google-services-release.json 在你的 /app dir 并将其复制并重命名为 google-services.json。
希望这会有所帮助。
【讨论】:
from "src/${variant.flavorName}" 之前的第一个 / 否则 @MartinS 你的解决方案简直太棒了。
File google-services.json is missing from module root folder. The Google Services Plugin cannot function without it
from "/src/${variant.flavorName}" 变为 from "src/${variant.flavorName}"
目前无法定义构建特定的配置。好主意,但似乎有用。
【讨论】: