安卓手机一定在下载软件或者游戏的时候,接触到一个新的系统名词—安卓APK文件!也许很多对安卓APK文件不是很了解,下面就来给大家简单解析一下安卓APK文件的定义和文件结构等方面问题!
其实APK文件就是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码!
而一个APK文件结构为:
mete-INF Jar文件中常可以看到
res 存放资源文件的目录
AndroidManifest.xml 程序全局配置文件
classes.dex Dalvik字节码
resources.arsc 编译后的二进制资源文件
总的来说,安卓在运行一个程序时首先需要UnZip,然后类似Symbian那样直接,和Windows Mobile中的PE文件有区别,这样做对于程序的保密性和可靠性不是很高,通过dexdump命令可以反编译,但这样做符合发展规律,微软的 Windows Gadgets或者说WPF也采用了这种构架方式!
我们在Android平台中dalvik vm的执行文件被打包为apk格式,最终运行时加载器会解压然后获取编译后的androidmanifest.xml文件中的permission分支相关的安全访问,但仍然存在很多安全限制,如果你将apk文件传到/system/app文件夹下会发现执行是不受限制的。
最终我们平时安装的文件可能不是这个文件夹,而在安卓rom中系统的apk文件默认会放入这个文件夹,它们拥有着root权限!
看了这些,安卓手机用户一定对安卓APK文件拥有一定了解了,那么相信你在使用和安装APK文件的时候也就更加的快捷!