Android PMS——网络下载应用安装(六)

        我们接着上一篇文章继续分析,文章最后调用到了 PackageManagerService 中的 installStage() 方法,这里就是正式开始 APK 的安装过程。

一、安装流程

1、PackageManagerService

源码位置:/frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java

installStage

        installStage 有两个不同参数的方法,分别对应多个包和单个包的解析流程,这里仅以单个包的解析流程为例。

void installStage(ActiveInstallSession activeInstallSession) {
    ……
    final Message msg = mHandler.obtainMessage(INIT_COPY);
    // 把之前传入的 sessionParams 安装信息,及其它信息封装成 InstallParams
    final InstallParams params = new InstallParams(activeInstallSession);
    params.setTraceMethod("installStage").setTraceCookie(System.identityHashCode(params));
    msg.obj = params;

    Trace.asyncTraceBegin(TRACE_TAG_PACKAGE_MANAGER, "installStage", System.identityHashCode(msg.obj));
    Trace.asyncTraceBegin(TRACE_TAG_P

你可能感兴趣的:(Android,PMS,android)