Files
MoGoEagleEye/app/productFlavors/urlConfig.gradle
yangyakun 87a2c2201a [m1]
[1.0.2]
[url 全部由urlConfg.json 来进行配置]
2023-02-14 19:29:38 +08:00

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
}