从文件

时间:2018-06-06 11:14:32

标签: android android-studio android-gradle

我需要从文件中获取一些Config,可能是xml文件来创建构建。我无法使用buildVarient,因为构建变量不是固定的。以下是我需要导入的属性。

  1. 应用程序ID: - 在build.gradle中。
  2. BASE URL: - 网络请求的基本网址。
  3. 应用程序名称: - 清单中的应用程序名称
  4. 要求是为一个人创建一个apk。所以构建过程应该很简单。这就是为什么我正在考虑创建一个config文件并从文件中引用上面的所有3个属性。 它甚至可能全部3个?如果有,怎么样? 。请帮忙 。

1 个答案:

答案 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