APK是Android Package缩写,使用zip解压文件即可打开。每个APK文件中都包含一个class.dex文件(odex过的APK文件除外)。class.dex文件就是Android系统Dalvik虚拟机的可执行文件
Android工程的打包方式两种:
1. Eclipse集成开发环境直接导出生成的APK文件
2. 使用Ant工具在命令行打包生成APK文件
APK打包流程:
1. 打包资源文件,生成R.java文件
2. 处理aidl文件,生成相对应的Java文件
3. 编译工程源代码,生成相应的class文件
4. 转换所有的class文件,生成classes.dex文件
5. 打包生成Apk文件
6. 对APK文件进行签名
a) 签名Apk两种情况
i. 在调试程序时进行签名
ii. 打包发布时进行签名,需要提供符合Android开发文档的签名文件
- 签名文件两种方式
a) 使用JDK提供的jarsinger工具
b) 使用Android源码中的signapk工具
7. 对签名后的APK文件对齐处理,使apk包中所有资源文件距离文件起始偏移为4字节整数倍
Android程序安装流程
四种安装方式:
1. 系统安装:开机时安装,没有安装界面
2. 通过Android市场安装:通过Android市场进行网络安装,没有安装界面
3. Adb工具安装:adb install path 没有安装界面
4. 手机自带安装:有安装界面