文章目录
一、APK打包流程
- 通过AAPT工具进行所有资源文件(AndroidManifest.xml文件、布局文件、xml文件等)的打包,并生成R.java文件
- 通过AIDL工具处理所有aidl文件生成.java文件
- 通过javac工具编译项目源码,生成.class文件
- 通过DX工具将所有.class文件转换成dex文件,此步骤主要是将java字节码转换为Dalvik字节码,压缩常量池以及清楚冗余信息等工作
- 通过apkBuilder工具将所有资源文件、dex文件打包生成apk文件
- 通过keystore对apk文件进行签名
- 如果是release文件还需要通过ZipAlign工具进行对齐处理,将所有资源文件起始地址偏移4字节的整数倍,这样通过内存映射访问apk文件更快
二、 APK安装流程
- 将apk文件拷贝到data/app目录下,扫描并解压缩
- 资源管理器解析APK中的资源文件
- 解析AndroidMenifest文件,再data/data/包名目录下生成相应的应用数据目录
- 对dex文件进行优化,并保存在dalvik-cache目录下
- 将AndroidMenifest文件解析出来的四大组件注册到PMS中
- 安装完成,发送广播