Android 4.4 应用4中安装方式流程图
2018-03-06 17:32:24 1 举报
登录查看完整内容
Android apk安装的4种方式流程图汇总 1、系统启动安装; 2、adb安装 ; 3、在线下载安装; 4、SD卡中点击apk文件安装
作者其他创作
大纲/内容
initView()
res0
进入switch的INIT_COPY条件,再进入MCS_BOUND条件
PackageInstallerActivity。onCreate()
是
scanDirLI(...)
InstallAppProgress.onCreate()
createDataDirsLI(pkgName...)
mPm.installPackageWithVerificationAndEncryption()
调用processPendingInstall()方法
调用scanDirLI扫描的内容
doHandleMessage(msg)
判断信息是否有错后,调用initiateInstall()
调用HandlerParams 类的startCopy()方法
mInstaer接管之后,通过socket方式,交给底层的installd去处理了
入口2从网络下载APK自动安装
该方法做具体事情
int res = mInstaller.createUserData()
各种验证(签名等)将上一步解析的到的信息保存到PKMS中,方便给AMS调用
mPm.installPackageWithVerificationAndEncryption()
PackageManagerService构造函数
执行installNewPackageLI或者replacePackageLI
调用Packagemanager的installPackage()方法
入口4从SD点击安装APK
android\\frameworks\\base\\cmds\\pm\\src\\com\\android\\commands\\pm\\pm.java
入口3adb安装APK
mHandler发送INIT_COPY消息
int res = mInstaller.install()
执行installPackageLI()方法
调用runInstall()方法
PKMS.installPackageWithVerificationAndEncryption()
return res ;
调用startInstallConfirm()
进入PackageHandler的handleMessage方法
调用PackageManagerService的installPackage()方法
调用handleReturnCode()方法
该方法的几项重要工作:1.建立ResolverActivity的内存对象就是当发出一个Intent,如果有多个Activity响应该Intent的Activity,会弹出一个对话框让用户选择,这个对话框就是ResolverActivity。2.处理带有original-package标签的应用3.校验签名(verifySignaturesLP)4.检查ContentProvider名称5.确定应用将来的进程名称6.创建应用的数据目录7.安装动态库8.重新优化dex9.提取应用中的组件信息到PackageManagerService的成员变量中。
前三步创建并显示安装界面点击OK按键,根据Intent跳转到InstallAppProgress
Android应用4中安装方式的执行流程
入口1开机启动安装APK
0 条评论
回复 删除
下一页