1

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

有什么方法可以找出我的 Android 应用程序正在使用哪些库?它可能使用 Delvik VM,但我如何知道我使用的是 Media Framework 库、WebKit 还是其他类似的东西?

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

提前致谢!

4

2 回答 2

1

如果您使用外部库,这些库将包含在您的 /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 - 适用于所有应用程序的强大且轻量级的关系数据库引擎。

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

于 2013-04-13T20:12:26.017 回答
0

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

我想说只是记录您使用 Android SDK。专家应该知道包括什么。

于 2013-04-13T19:48:34.813 回答