如何获取包含库的版本信息?

Chr*_*rff 6 java android manifest

我有一个带有两个包含的库项目的eclipse项目.这些项目有自己的带有版本信息的清单文件.现在我想从主项目中的这些库项目中读取版本号.通过调用PackageManager无法读取信息:

//Get the version name from the included library project
String libVersion  = getPackageManager().getPackageInfo("com.google.zxing.client.android", 0).versionName;
Run Code Online (Sandbox Code Playgroud)

因为库不是已安装的应用程序.但获取这些信息的正确方法是什么?

例如:我将zxing Android项目作为库项目包含在内.这些项目的清单文件中包含以下版本信息:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.google.zxing.client.android"
    android:installLocation="auto"
    android:versionCode="88"
    android:versionName="4.3.2" >
Run Code Online (Sandbox Code Playgroud)

我想读取versionCode和versionName.如果我在上面的编码中使用packageManager,我会得到versionCode"93"和versionName"4.5".

Chr*_*ckl 1

事实上现在可能的(可能是由于新的 API 更改,使用 API 17(调用项目)、API 14(库项目)进行测试):如果您专门调用正确的包名称,它将从该包清单文件中检索版本信息:

例如:

String versionName = getPackageManager().
        getPackageInfo("PACKAGE_FROM_WHICH_TO_RETRIEVE_MANIFEST", 0).versionName;
Run Code Online (Sandbox Code Playgroud)