7

实际上我想知道,如果在我的应用程序的 libs 文件夹中存在任何库文件(例如 .jar 文件),那么在安装(运行)该应用程序之后,库文件是否会出现在 .apk 文件中?根据我的理解,库文件应该出现在生成的 .apk 文件中。如果我错了,请纠正我。

如果我的问题低于标准,那么非常抱歉。任何帮助将不胜感激

4

3 回答 3

7

使用最新版本的 Android 工具,libs 文件夹中的 .jar 文件会自动包含在构建中。(请参阅处理 Android 项目中的依赖项。)所以,是的,该库包含在已编译的字节码中(而不是作为单独的文件)。

如果您在发布版本中使用 ProGuard,那么它将尝试删除任何未实际使用的代码。因此,可能是库的某些部分包含在最终的 .apk 中,而某些部分被删除了。

于 2013-02-13T11:55:31.540 回答
0

答案是肯定的。apk 只是您编译项目的压缩版本。例如,如果你用 winrar 打开它,你会看到里面有一切;)

于 2013-02-13T11:55:35.690 回答
0

你可以自己试试看,但是你不能直接看到生成的apk中libs文件夹下的.jar文件。库类文件全部一起编译成一个 .dex 文件。如果你反编译那个 dex 文件,你可以得到 java 代码。

于 2013-02-13T12:00:28.200 回答