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

时间:2013-04-13 19:44:36

标签: java android

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

有没有办法找出我的Android应用程序使用的库?它可能使用Delvik VM,但我怎么知道我是使用Media Framework库,还是WebKit或其他任何东西?

听起来像是一个不必要的问题,但我需要写一篇关于我开发的应用程序的文章,这些信息会有所帮助。

提前致谢!

2 个答案:

答案 0 :(得分:1)

如果使用外部库,那些将包含在/ libs文件夹中。所以你会知道你所包含的库。

如果启用proguard,则该工具将删除未使用的类,字段和方法。 ProGuard工具通过删除未使用的代码并使用语义模糊的名称重命名类,字段和方法来缩小,优化和混淆代码。结果是一个较小的.apk文件,更难以逆向工程。所以不是所有的库中的类都被使用。如果启用了proguard,则会删除那些未使用的类。

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

这些android。*类不属于您的APK文件,因此不受ProGuard的影响。真正的类在运行时已经在您的过程中,由固件放在那里。

enter image description here

所以你可以去你的AndroidSDK。转到平台。打开文件夹说android- 16(对于api版本16)。你会看到android.jar。您可以解压缩jar文件并查看其下的文件。

打开android文件夹,您将成为数据库,媒体,webkit等。

你应该看看这个链接。 http://developer.android.com/about/versions/index.html

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

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

SQLite - 一个功能强大且轻量级的关系数据库引擎,可供所有应用程序使用。

其他图书馆也一样。所以这取决于你的应用程序。

答案 1 :(得分:0)

一般来说,这取决于您的应用。 Android包含来自许多来源的程序代码。你已经知道了,例如Webkit,还有许多来自Apache项目或json.org的不同类。

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