我需要从文件中获取一些Config,可能是xml
文件来创建构建。我无法使用buildVarient
,因为构建变量不是固定的。以下是我需要导入的属性。
要求是为一个人创建一个apk。所以构建过程应该很简单。这就是为什么我正在考虑创建一个config
文件并从文件中引用上面的所有3个属性。
它甚至可能全部3个?如果有,怎么样? 。请帮忙 。
答案 0 :(得分:3)
我在build.gradle
中使用类似的东西:
Properties versionProps = new Properties()
versionProps.load(new FileInputStream(file('config.conf')))
def properties_versionCode = versionProps['VERSION_CODE'].toInteger()
def properties_versionName = versionProps['VERSION_NAME']
versionName properties_versionName
versionCode properties_versionCode
请看第2行,第3行和第4行。
以下是config.conf
文件:
VERSION_NAME=1.0.0
VERSION_CODE=100
这两个文件应放在同一文件夹级别。
为了设置应用程序名称和基本URL,我会使用单独的项目文件夹,更多关于它的讨论here。
您还可以创建自定义构建字段,以便通过调用BuildConfig.{FIELD}
在代码中显示它。
defaultConfig {
...
buildConfigField "String", "OS", '"android"'
}
然后BuildConfig看起来像这样:
public final class BuildConfig {
public static final boolean DEBUG = Boolean.parseBoolean("true");
public static final String APPLICATION_ID = "com.example.app";
public static final String BUILD_TYPE = "debug";
public static final String FLAVOR = "";
public static final int VERSION_CODE = 1;
public static final String VERSION_NAME = "1.0";
// Fields from default config.
public static final String OS = "android";
}
更多here。