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 argsForZygote = new ArrayList();

        // --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

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

 

你可能感兴趣的:(android)