7

我已经创建了 apk maven + eclipse

它是一个单独的文件,并具有对mvn dependencies. 在我的 android 上一切正常,但我需要在runtime version of referenced libs. 我知道如何显示我的应用程序的版本(来自 androidManifest.xml),但问题是获取 other 的版本used library,它以某种方式包含在我的 apk 中。

在 apk 中我看不到我引用的 jars,我想它是由class.dex.

我找到了从 jar lib 获取版本的方法,但它不适用于 apk。

我们能找到internal reference libraryat 的版本吗run-time?

4

1 回答 1

1

让我重新表述你的问题。您开发了一个使用第三方库的移动应用程序,您的目标是从 APK 中找到该第三方库的版本。如果我理解正确,那么我最近面临类似的要求。首先,第三方 jar 的清单将包含版本信息。当您构建 APK 时,此包含版本信息的清单信息不会与 APK 的 AndroidManifest 文件合并。AndroidManifest 架构似乎没有提供此功能。在我们的例子中,我们发布了库,因此一种可能的解决方案是,我们可以将版本信息添加到库的 Android Manifest 文件中活动元素内的元数据元素中,以便在构建 apk 时,它会从库的android manifest 到应用程序的 android manifest。这样我们就可以将库的版本信息传递给主 APK 的 Android Manifest。也许我们可以请求修改 Android 清单的架构,以提供包含内部库的版本信息的规定。请检查以下链接。 https://developer.android.com/guide/topics/manifest/manifest-element.html

另一种解决方案可能是可以使用 jarsigner 插入自定义条目(在构建 APK 后将第三方库的版本信息包含到 APK 的清单文件中。这又不是标准解决方案。

于 2017-04-28T07:32:46.363 回答