android8.1启动过程 SystemServer启动FallbackHome2

Posted we1less

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android8.1启动过程 SystemServer启动FallbackHome2相关的知识,希望对你有一定的参考价值。

本篇结合上一篇https://blog.csdn.net/we1less/article/details/117485532?spm=1001.2014.3001.5501

上一篇方法最后调用了

startViaZygote(processClass, niceName, uid, gid, gids, debugFlags, mountExternal, targetSdkVersion, seInfo, abi, instructionSet, appDataDir, invokeWith, zygoteArgs);


startViaZygote()    frameworks/base/core/java/android/os/ZygoteProcess.java

  最后调用了  zygoteSendArgsAndGetResult(openZygoteSocketIfNeeded(abi), argsForZygote);

    private Process.ProcessStartResult startViaZygote(final String processClass,
                                                      final String niceName,
                                                      final int uid, final int gid,
                                                      final int[] gids,
                                                      int debugFlags, int mountExternal,
                                                      int targetSdkVersion,
                                                      String seInfo,
                                                      String abi,
                                                      String instructionSet,
                                                      String appDataDir,
                                                      String invokeWith,
                                                      String[] extraArgs)
                                                      throws ZygoteStartFailedEx {
        ArrayList<String> argsForZygote = new ArrayList<String>();

        // --runtime-args, --setuid=, --setgid=,
        // and --setgroups= must go first
        argsForZygote.add("--runtime-args");
        argsForZygote.add("--setuid=" + uid);
        argsForZygote.add("--setgid=" + gid);
        ...//以下省略配置参数

        synchronized(mLock) {
            return zygoteSendArgsAndGetResult(openZygoteSocketIfNeeded(abi), argsForZygote);
        }
    }

zygoteSendArgsAndGetResult()   frameworks/base/core/java/android/os/ZygoteProcess.java

  见名知其意  发送参数(就是上面方法配置的)、返回结果

 

以上是关于android8.1启动过程 SystemServer启动FallbackHome2的主要内容,如果未能解决你的问题,请参考以下文章

android8.1启动过程 SystemServer

android8.1启动过程 SystemServer启动FallbackHome2

android8.1启动过程 zygote进程分析2

android8.1开机动画启动分析

App启动流程

Android Framework实战视频--BootAnimation的启动源码分析(Android8.1)