APK:(全称:Android application package,Android应用程序包)是Android操作系统使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件。一个Android应用程序的代码想要在Android设备上运行,必须先进行编译,然后被打包成为一个被Android系统所能识别的文件才可以被运行,而这种能被Android系统识别并运行的文件格式便是“APK”。 一个APK文件内包含被编译的代码文件(.dex 文件),文件资源(resources), 原生资源文件(assets),证书(certificates),和清单文件(manifest file) 。
介绍
apk文件和sis一样,把androidsdk编译的工程打包成一个安装程序文件,格式为apk。 APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是DalvikVM executes的简称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接, [2] 但不同于Windows mobile中的PE文件,程序的保密性和可靠性不是很高,通过dexdump命令可以反编译它,但这种架构符合发展规律,微软的WindowsGadgets(WPF)也采用了这种架构方式。在Android平台中,dalvikvm的执行文件被打包为apk格式,最终运行时加载器会先解压,然后获取编译后的androidmanifest.xml文件中的permission声明对安全访问的限制,要知道仍然存在很多安全限制,但将apk文件传到/system/app文件夹下会发现执行是不受限制的。也许我们平时安装都不会选用这个文件夹,但在androidrom中,系统的apk文件默认会放入这个文件夹,它们拥有root权限。
结构:
- META-INF文件夹:Jar文件中常见
网友评论