我已经通过maven + eclipse
创建了apk。
它是一个单独的文件,并且具有mvn dependencies
给出的库的内部引用。在我的机器人上,一切都很好,但我需要在runtime version of referenced libs
中显示。我知道如何显示我的应用程序的版本(来自androidManifest.xml),但问题是获取其他used library
的版本,这在某种程度上包含在我的apk中。
在apk中我没有看到我引用的罐子,我想它是由class.dex
制作的。
我找到了从jar lib获取版本的方法,但它不适用于apk。
我们是否可以在internal reference library
run-time?
的版本
答案 0 :(得分:1)
让我重新提一下你的问题。 您开发了一个使用第三方库的移动应用程序,您的目标是从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的清单文件中)。 这又不是一个标准的解决方案。