繁体   English   中英

如何判断我的Android应用程序正在使用哪些库?

[英]How to tell which libraries my android application is using?

我似乎无法在其他任何地方找到我的问题的答案,所以也许它不像我期望的那样直接...

有没有办法找出我的Android应用程序正在使用哪些库? 它可能使用的是Delvik VM,但是如何知道我是否正在使用Media Framework库,WebKit或类似的东西?

听起来像是一个不必要的问题,但是我需要在我开发的应用程序上写一篇论文,并且该信息会有所帮助。

提前致谢!

如果您使用外部库,这些库将包含在您的/ libs文件夹中。 因此,您将知道所包含的库。

如果启用proguard,则该工具会删除未使用的类,字段和方法。 ProGuard工具通过删除未使用的代码并使用语义上晦涩的名称重命名类,字段和方法来缩小,优化和混淆您的代码。 结果是一个较小的.apk文件,很难进行反向工程,因此并非使用库中的所有类。 如果启用了proguard,则将删除那些未使用的类。

您的应用程序将android.jar作为引用的库。 它不包含在.apk文件中。 您可以解压缩.apk并查看其内容。

这些android。*类不是您的APK文件的一部分,因此不受ProGuard的影响。 实际的类已经在运行时在您的过程中,由固件放置在那里。

在此处输入图片说明

因此,您可以转到AndroidSDK。 转到平台。 打开一个文件夹,例如android-16(适用于api版本16)。 您会看到android.jar。 您可以解压缩jar文件并查看其下的文件。

打开android文件夹,您将是数据库,媒体,Webkit等。

您应该看看此链接。 http://developer.android.com/about/versions/index.html

开发人员可以完全访问核心应用程序所使用的相同框架API。

我们在最顶层开发应用程序。 假设您要将数据存储到数据库,那么您的应用程序将使用sqlite来存储数据。

SQLite-适用于所有应用程序的功能强大且轻量级的关系数据库引擎。

其他库也一样。 因此,这取决于您的应用程序。

通常,这取决于您的应用程序。 Android包含来自许多来源的程序代码。 如您所知,例如Webkit,还有许多与Apache项目或json.org不同的类。

我想说的只是您使用Android SDK的文档。 专家应该对其中包含的内容有所了解。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM