作者:郭嘉
邮箱:allenwells@163.com
博客:http://blog.csdn.net/allenwells
github:https://github.com/AllenWells
【Android SDK程序逆向分析与破解系列】章节索引
一 APK的生成流程
- 打包资源文件,生成R.java文件。
- 处理aidl文件,生成相应的Java文件。
- 编译工程源代码,生成相应的class文件。
- 转换所有的class文件,生成相应的classes.dex文件。
- 打包生成APK文件。
- 对APK文件进行签名。
- 对签名后的APK文件进行对齐处理。
二 APK的安装流程
- 用户点击APK进行安装。
- 弹出APK安装界面,启动Android系统程序PackageInstaller的PackageInstallerActivity,该Activity通过Intent接收传递过来的APK文件信息。
- PackageInstallerActivity初始化一个PackageManager和PackageParserPackage对象。
- 调用PackageUtil.getPackageInfo()解析APK信息。解析失败则返回,解析成功则调用setContentView()方法显示视图。
- 调用PackageUtil.getAppSnippet()与PackageUtil.initSnippetForNewApp()设置PackageInstallerActivity的控件显示程序的名称和图标。
- 调用initateInstall()方法进行一些其它的初始化工作。