代码之家  ›  专栏  ›  技术社区  ›  Diaz diaz

从文件获取应用程序配置

  •  0
  • Diaz diaz  · 技术社区  · 7 年前

    我需要从一个文件中获取一些配置可能是 xml 要创建生成的文件。我不能用 buildVarient 因为建筑的变化是不固定的。下面是我需要导入的属性。

    1. 应用程序ID:-内部版本.gradle。
    2. 基本URL:-网络请求的基本URL。
    3. 应用程序名称:-清单中的应用程序名称

    需求是为一个人创建一个apk。所以构建过程应该很简单。所以我想创造一个 config 文件并从文件中引用上面的所有3个属性。 三个都有可能吗?如果是,怎么办?。请帮忙。

    1 回复  |  直到 7 年前
        1
  •  3
  •   deadfish    7 年前

    我在用 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 .