Skip to main content

The Startups: App_Process

As discussed earlier the app_process(Zygote) is started by the init.rc with the following command
 -- /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server
The syntax to be used is
 -- app_process [java-options] cmd-dir start-class-name [options]

The implementation of this is present in
/frameworks/base/cmds/app_process/app_main.cpp

 This process starts the interpreted runtime, then starts up the application(system-server in this case)
 arg -Xzygote : Starts in zygote mode
 arg start-system-server: starts system-server process

 When starting system server this process:
 Creates Dalvik Cache Folder
maybeCreateDalvikCache()
 Calls Android Runtime.start, with args "start-system-server" and "abi-list"
    runtime.start("com.android.internal.os.ZygoteInit", args, zygote);

 When not starting in Zygote Mode, it just passes the arguements to the application process
    runtime.start("com.android.internal.os.RuntimeInit", args, zygote);

Comments