我正在尝试使用productFlavors以不同于gradle的方式管理每个环境的版本号。我在properties.xml文件中有以下内容
<resources>
<integer name="version.code">100</integer>
<string name="version.name">1.0.1</string>
</resources>
我在build.gradle文件中写了以下内容。我希望它像switch-case一样,但是下面的gradle sync错误显示了我的反面意思。
productFlavors {
String path = "res/values/properties.xml";
prd {
applicationId "com.company.appname"
path = "../prd/" + path;
}
tst {
applicationId "com.company.appname.tst"
path = "../tst/" + path;
}
dvl {
applicationId "com.company.appname.dvl"
path = "../dvl/" + path;
}
qa {
applicationId "com.company.appname.qa"
path = "../qa/" + path;
}
Properties props = new Properties()
props.load(new FileInputStream(path))
if (propFile.canRead()){
props.load(new FileInputStream(propFile))
if (props!=null && props.containsKey('version.code') && props.containsKey('version.name')) {
versionCode props.getProperty('version.code')
versionName props.getProperty('version.name')
}
}
}
.. \ qa .. \ dvl .. \ tst .. \ prd \ res \ values \ properties.xml(系统找不到指定的路径)
如何从build.gradle中读取特定于环境的version.code和version.name?