apk

1.什么是apk文件

(1)定义:APK是AndroidPackageKit的缩写,即Android安装包。APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是DalvikVMexecutes的全称,即AndroidDalvik执行程序,并非JavaME的字节码而是Dalvik字节码。APK文件结构为:META-INF:Jar文件中常可以看到res:存放资源文件的目录AndroidManifest.xml:程序全局配置文件classes.dex:Dalvik字节码resources.arsc:编译后的二进制资源文件

(2)机制:Android在运行一个程序时首先需要UnZip,再通过dexdump命令可以反编译,这样做对于程序的保密性和可靠性不是很高但符合发展规律。DalvikVm的执行文件被打包为apk格式,最终运行时,加载器会解压apk并获取编译后的androidmanifest.xml文件中的permission中相关的安全访问。

(3)root权限与签名:如果你将apk文件传到/system/app文件夹下会发现执行是不受限制的,androidrom中系统的apk文件默认会放入这个文件夹,它们拥有着root权限。但第三方程序并不是安放在这个文件夹的。

2.apk的打包在Eclipse中,编译好的androidproject,在该project的bin目录下会自动生成一个apk文件,与J2ME不同,无需手动打包。只要代码有改动就自动build,build出来的apk是签过名的,也可以在project右键菜单的AndoidTools菜单下export签名的或未签名的apk。

相关推荐