如何以编程方式从Android应用读取Gradle文件属性

Tal*_*Kit 3 android gradle android-studio

build.gradle文件包含以下部分。如何从Android应用程序MainActivity中读取android.defaultConfig.versionCode

android {
    defaultConfig {
        applicationId "com.gatta.e.gatta"
        minSdkVersion 11
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
}
Run Code Online (Sandbox Code Playgroud)

Voi*_*icu 5

您无需阅读Gradle文件即可获取版本代码。这是活动中的直接方法:

private PackageInfo getPackageInfo() {
    PackageInfo pi;
    try {
        pi = this.getPackageManager().getPackageInfo(
                         this.getPackageName(), PackageManager.GET_ACTIVITIES);
    } catch (PackageManager.NameNotFoundException e) {
        // TODO: handle this
        Log.e("yourMessage", e);
    }
    return pi;
}
Run Code Online (Sandbox Code Playgroud)

并在您的onCreate(...)方法中使用它例如获取版本代码:

String versionCode = "" + getPackageInfo().versionCode;
Run Code Online (Sandbox Code Playgroud)

有关PackageInfo该类的更多信息,请点击此处。以及该类的简要说明:

有关包装内容的总体信息。这对应于从AndroidManifest.xml收集的所有信息。