50 lines
1.8 KiB
Groovy
50 lines
1.8 KiB
Groovy
import groovy.json.JsonOutput
|
|
import groovy.json.JsonSlurper
|
|
|
|
project.android.applicationVariants.all { variant ->
|
|
def flavorName = variant.flavorName
|
|
if (flavorName.startsWith("dali")) {//大理环境
|
|
if (flavorName.endsWith("Qa")) {
|
|
buildConfigField 'String', 'URLs', "\"${readFileToJson("dali", "qa").replace("\"", "\\\"")}\""
|
|
} else if (flavorName.endsWith("Online")) {
|
|
buildConfigField 'String', 'URLs', "\"${readFileToJson("dali", "online").replace("\"", "\\\"")}\""
|
|
} else if (flavorName.endsWith("Demo")) {
|
|
buildConfigField 'String', 'URLs', "\"${readFileToJson("dali", "demo").replace("\"", "\\\"")}\""
|
|
}
|
|
} else { // mogo环境
|
|
if (flavorName.endsWith("Qa")) {
|
|
buildConfigField 'String', 'URLs', "\"${readFileToJson("mogo", "qa").replace("\"", "\\\"")}\""
|
|
} else if (flavorName.endsWith("Online")) {
|
|
buildConfigField 'String', 'URLs', "\"${readFileToJson("mogo", "online").replace("\"", "\\\"")}\""
|
|
} else if (flavorName.endsWith("Demo")) {
|
|
buildConfigField 'String', 'URLs', "\"${readFileToJson("mogo", "demo").replace("\"", "\\\"")}\""
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
Object readFileToJson(project, env) {
|
|
try {
|
|
// 加载config.json 文件
|
|
File file = new File("${rootDir}/app/urlConfig.json")
|
|
def jsonSlurper = new JsonSlurper()
|
|
// 解析json
|
|
def config = jsonSlurper.parse(file)
|
|
def jsonOutput = new JsonOutput()
|
|
config.each { key, value ->
|
|
// 匹配flavor对应的 json
|
|
if (project.toLowerCase().contains(key)) {
|
|
return jsonOutput.toJson(value.get(env))
|
|
}
|
|
}
|
|
// 保底原则
|
|
return jsonOutput.toJson(config.get("mogo").get(env))
|
|
} catch (IOException e) {
|
|
e.printStackTrace()
|
|
}
|
|
return null
|
|
}
|
|
|