【问题标题】:How to get Version from AndroidManifest.xml in a Library Project?如何从库项目中的 AndroidManifest.xml 获取版本?
【发布时间】:2012-05-28 22:20:08
【问题描述】:

如何从库项目中的 AndroidManifest.xml 获取版本? 因为在那里,我没有任何活动。

【问题讨论】:

标签: android version android-manifest manifest


【解决方案1】:
PackageManager m = getPackageManager();
String app_ver = "";
try {
    app_ver = m.getPackageInfo(this.getPackageName(), 0).versionName;
} 
catch (NameNotFoundException e) {
    // Exception won't be thrown as the current package name is
    // safe to exist on the system.
    throw new AssertionError();
}

【讨论】:

  • 应该扩展哪个类“this”?这是一个简单的管理器,应该返回应用程序的版本。
  • 所以,我的班级现在扩展了 ContextWrapper 以便能够获得“getPackagemanager()”。谢谢你的小费。
  • 这对于一个独立的库是如何工作的,它没有任何自己的上下文,但在其 Android Manifest 中有自己的版本代码。
【解决方案2】:

如果您想要特定版本的库(而不是使用该库的应用),请使用:

BuildConfig.VERSION_NAME
BuildConfig.VERSION_CODE

只需确保为您的库导入 BuildConfig(因为实际上每个 android 库/应用程序在其包路径上都有自己的 BuildConfig)。 Android Studio 的 Gradle 构建系统表明它始终是从 0.7.0 版开始生成的(请参阅changelog)。这会作为生成的类保留在托管应用程序/库中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-02
    • 1970-01-01
    • 1970-01-01
    • 2018-06-14
    • 1970-01-01
    • 2021-07-25
    • 2021-04-30
    • 1970-01-01
    相关资源
    最近更新 更多