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

前端之家收集整理的这篇文章主要介绍了android – 如何从apk获取引用的内部库的版本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经通过maven eclipse创建了apk.

它是一个单独的文件,并且具有mvn依赖项给出的库的内部引用.在我的android上一切都很好,但我需要在引用的libs的运行时版本中显示.我知道如何显示我的应用程序的版本(来自androidManifest.xml),但问题是获取其他使用的库的版本,这在某种程度上包含在我的apk中.

在apk里面我没有看到我引用的罐子,我想它是由class.dex制作的.

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

我们可以在运行时找到内部参考库的版本吗?

解决方法

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

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

猜你在找的Android相关文章