android - 如何从apk获取引用的内部库的版本

标签 android version apk

我已经通过 maven + eclipse 创建了 apk。

它是一个单独的文件,内部引用了由 mvn dependencies 提供的库。在我的 android 上一切正常,但我需要在 引用库的运行时版本 中显示。我知道如何显示我的应用程序的版本(来自 androidManifest.xml),但问题是获取其他使用的库的版本,它以某种方式包含在我的 apk 中。

在 apk 中我没有看到我引用的 jar,我想它是由 class.dex 制作的。

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

我们能否在运行时找到内部引用库的版本?

最佳答案

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

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

关于android - 如何从apk获取引用的内部库的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14158600/

相关文章:

android - 如何将实时流媒体视频从手机制作到网站页面

android - 从 Android 中的 GCM 推送通知获取当前上下文

android - 代码需要 API 级别 11(当前为 8)

android - 从一个apk中读取Application.mk信息

java - 一堆应用程序的单独内容提供商

android - 在 Android 导航栏顶部绘制位图

android - 抽屉导航不保留所选项目

android - 您需要为您的 APK 使用不同的版本代码,因为您已经拥有版本代码 2 的 APK

python - 当两个 python mod 都需要不同的 python 版本时如何使用它们

android - 为什么我的 android 应用程序 apk 的新版本不能安装在旧版本上