Android:为什么apk文件的大小小于整个项目

时间:2014-03-13 19:46:18

标签: android apk

到目前为止,我绝对是理解这一点的菜鸟,我注意到通常apk文件比我的Android项目小得多。这是怎么回事? 总是这样吗?我在将整个项目压缩为压缩文件时遇到了这个疑问,它显示磁盘大小为128MB ......(当时第一次注意到它)而实际的apk只有22.4 MB。为什么会有这种差异?

5 个答案:

答案 0 :(得分:4)

APK是Android应用程序包文件。每个Android应用程序都编译并打包在一个文件中,该文件包含所有应用程序的代码(.dex文件),资源,资产和清单文件。 APK文件基本上是 .zip文件

答案 1 :(得分:2)

您的项目包含仅由IDE使用的所有源文件和文件。 apk只包含较小的编译文件。

此外,图像/资源等在apk中被压缩。

答案 2 :(得分:1)

Android项目(一般情况下)包含源代码,该代码被编译为最终在APK中的类文件。

编译文件小于源代码 - 例如,它们会删除文件中的所有注释(您在源文件中包含注释,不是吗!)

答案 3 :(得分:1)

除了其他答案之外,您可能正在使用名为ProGuard的东西,它通过缩短字段名称,删除死(未使用)代码,合并类以及许多其他技巧来进一步压缩您的项目。

有关ProGuard的更多信息,请查看FAQ

答案 4 :(得分:0)

它与Android编译项目的方式有关。它基本上会转储批量,压缩资源,并将所有内容编译成一个简单的二进制文件。几乎所有类型的编程都会发生这种情况,您的最终构建通常会小于整个项目(除非您在构建中包含外部源代码)。在编译过程中,代码中有大量的内容被剥离。