.apk是可执行文件还是包?

时间:2013-08-12 09:19:00

标签: android apk

我想知道android的.apk文件是一个可执行文件,或者它只是一个包含已编译代码,资源,manifest.xml等的包。

4 个答案:

答案 0 :(得分:3)

它就像Zip格式,它只是一个包:

维基百科:Android应用程序包文件(APK)是用于在Google的Android操作系统上分发和安装应用程序软件和中间件的文件格式;非常类似于Windows中的MSI软件包或基于Debian的操作系统(如Ubuntu)中的Deb软件包。要制作APK文件,首先编译Android程序,然后将其所有部分打包到一个文件中。 APK文件包含该程序的所有代码(例如.dex文件),资源,资产,证书和清单文件。与许多文件格式一样,APK文件可以包含任何名称,前提是文件名以“.apk”结尾。1 [2] [3] [4]

APK文件是ZIP文件格式的包,基于JAR文件格式,带有.apk文件扩展名。与APK文件关联的MIME类型是application / vnd.android.package-archive。

另一个有用的Link

答案 1 :(得分:0)

这两者之间有点混合。代码不是直接从它执行的(类被复制到一个单独的文件中,并在执行之前为您的系统进行了优化),但应用程序清单和资源等东西在需要时直接从它加载。

答案 2 :(得分:0)

可以找到一般性解释here。我也在SO中找到了一个类似的线程(可以找到here)。在AndroidBook上,有一个有趣的线程too:简而言之,它是一个包:)

答案 3 :(得分:0)

  

APK文件是Android Package和JAR文件格式的变体,它们都是基于   ZIP文件格式,文件扩展名为.apk。