如何从xml文件获取应用程序versionCode?

时间:2018-09-03 09:24:04

标签: android

如何从xml文件获取app build.gradle内部的应用程序versionCode?我知道如何从Java代码获取它,但是我需要从xml文件获取它。有可能吗?

defaultConfig {
    applicationId "com.example"
    minSdkVersion 15
    targetSdkVersion 27
    versionCode 47 // I want to access this versionCode
    versionName "1.4.2"
    multiDexEnabled true
}

我在remote_config_defaults.xml下有一个名为res/xml/的文件,每次我都在其中手动递增版本代码。

<?xml version="1.0" encoding="utf-8"?>
<!-- START xml_defaults -->
<defaultsMap>
    <entry>
        <key>APP_VERSION_CODE</key>
        <value>47</value> //here I want to get versionCode
    </entry>
</defaultsMap>

我将此文件用于Firebase远程配置。我需要从该文件访问versionCode。

3 个答案:

答案 0 :(得分:0)

据我所知,没有办法绑定这两个值。 gradle文件中的版本代码将在构建期间生成。

答案 1 :(得分:0)

try {
    PackageInfo pInfo = context.getPackageManager().getPackageInfo(getPackageName(), 0);
    String version = pInfo.versionName;
} catch (PackageManager.NameNotFoundException e) {
    e.printStackTrace();
}

答案 2 :(得分:-1)

您将必须创建一个具有versionCode的String资源,然后可以轻松获取它,例如@ string / versionCode ...

但是您每次更新应用程序时都必须使用版本代码更新该字符串资源...

通过编程方式执行此操作会更好且更轻松;)