【发布时间】:2015-06-02 07:39:27
【问题描述】:
我有一个包含两个库项目的 Eclipse 项目。这些项目有自己的带有版本信息的清单文件。现在我想从我的主项目中的这些库项目中读取版本号。调用PackageManager无法读取信息:
//Get the version name from the included library project
String libVersion = getPackageManager().getPackageInfo("com.google.zxing.client.android", 0).versionName;
因为库不是已安装的应用程序。但是获取这些信息的正确方法是什么?
例如:我已将 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" >
我想阅读 versionCode 和 versionName。如果我在上面的编码中使用 packageManager,我将得到 versionCode "93" 和 versionName "4.5"。
【问题讨论】:
-
您可以在名称本身中看到版本..
-
如果你有库项目的源代码,作为一种解决方法,为什么不在那个库中添加一个返回版本的接口呢?
-
两者都不起作用。库项目的AndroidManifest.xml不是apk的一部分,所以我认为库项目的版本信息会在编译时丢失。