如何在库项目中从AndroidManifest.xml获取版本?

如何在库项目中从AndroidManifest.xml获取版本?,android,version,android-manifest,manifest,Android,Version,Android Manifest,Manifest,如何在库项目中从AndroidManifest.xml获取版本? 因为在那里,我没有任何活动。如果您想要库的特定版本(而不是使用该库的应用程序),请使用: PackageManager m = getPackageManager(); String app_ver = ""; try { app_ver = m.getPackageInfo(this.getPackageName(), 0).versionName; } catch (NameNotFoundException e)

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

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

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();
}

只需确保导入库的BuildConfig(因为每个android库/应用程序的包路径上都有自己的BuildConfig)。Android Studio的Gradle构建系统表明,它总是从版本0.7.0开始生成(请参阅)。这将作为一个生成的类保存到宿主应用程序/库中。

只需像处理普通xml文件一样处理它。请阅读“This”应该扩展哪个类?这是一个简单的管理器,应该返回应用程序的版本。因此,我的类现在扩展ContextWrapper,以便能够获得“getPackagemanager()”。这对于一个独立的库是如何工作的,它没有自己的上下文,但是在Android清单中有自己的版本代码。
BuildConfig.VERSION_NAME
BuildConfig.VERSION_CODE