【问题标题】:How to get version of referenced internal library from apk如何从 apk 获取引用的内部库的版本
【发布时间】:2013-01-04 14:00:52
【问题描述】:

我已经创建了 maven + eclipse 的 apk。

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

在 apk 里面我看不到我引用的 jar,我想它是由 class.dex 制作的。

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

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

【问题讨论】:

    标签: android version apk


    【解决方案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 的清单文件中。 这又不是标准解决方案。

    【讨论】:

    • 感谢您的回答和您指出的一些想法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-15
    • 1970-01-01
    • 2022-12-13
    • 2014-10-28
    • 2019-01-29
    • 1970-01-01
    • 2017-02-14
    相关资源
    最近更新 更多