什么是APK程序

2010年11月06日   教程经验   0条评论   1109人围观过  

  开始学玩Android手机,你会尝试着安装一些软件,你可能会注意到,下载回来的关于Android手机的程序的扩展名都是“.apk”的,就像我们的可执行程序一样是“.exe”的,双击即可执行,但是这个apk怎么执行,怎么安装呢?我们随后的文章会介绍。

  我们先来大致看一下Android的apk程序的介绍。顺便先打一下广告,本站为什么叫EZAPK,EZ是“Easy”的谐音,APK就是Android的程序扩展名,旨在简单,容易的玩转Android、玩转APK程序的意思

  APK是Android Package的缩写,即Android安装包。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。

  APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。

  一个APK文件结构为:

META-INF\  Jar文件中常可以看到
res\  存放资源文件的目录
AndroidManifest.xml  程序全局配置文件
classes.dex  Dalvik字节码
resources.arsc  编译后的二进制资源文件

  总结下我们发现Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接,和Windows Mobile中的PE文件有区别,这样做对于程序的保密性和可靠性不是很高,通过dexdump命令可以反编译,但这样做符合发展规律,微软的 Windows Gadgets或者说WPF也采用了这种构架方式。

  在Android平台中dalvik vm的执行文件被打包为apk格式,最终运行时加载器会解压然后获取编译后的androidmanifest.xml文件中的permission分支相关的安全访问,但仍然存在很多安全限制,如果你将apk文件传到/system/app文件夹下会发现执行是不受限制的。最终我们平时安装的文件可能不是这个文件夹,而在android rom中系统的apk文件默认会放入这个文件夹,它们拥有着root权限。

  不管你看得懂还是看不懂,我们都做一简单的介绍和认识,或许等你学着编写apk程序的时候,你会看明白这个东西的,呵呵。

关键字: APK

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。