Gradle从properties.xml

时间:2016-05-04 11:13:12

标签: android android-gradle build.gradle

我正在尝试使用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?

0 个答案:

没有答案