您的位置:首页 > 其它

我的进阶曲线之七

2015-10-10 15:24 323 查看
init.rc

service zygote/system/bin/app_process -Xzygote /system/bin --zygote --start-system-server

app_main.cpp

if (zygote) {

runtime.start("com.android.internal.os.ZygoteInit",

startSystemServer "start-system-server" :"");

需要说明下这个:runtime.start 这个会在创建AndroidRuntime实例的过程中,启动android虚拟机。

ZygoteInit.java

/**

* Startup class for the zygote process.

*/

public class ZygoteInit {

if(argv[1].equals("start-system-server")) {

startSystemServer();

ZygoteInit.java

/**

* Prepare the arguments and fork for thesystem server process.

*/

private static booleanstartSystemServer()

"com.android.server.SystemServer",

/* Request to fork the systemserver process */

pid = Zygote.forkSystemServer(

SystemServer.java

public class SystemServer {

private static native voidnativeInit();

com_android_server_SystemServer.cpp

{ "nativeInit","()V", (void*) android_server_SystemServer_nativeInit },

static voidandroid_server_SystemServer_nativeInit(JNIEnv* env, jobject clazz) {

char propBuf[PROPERTY_VALUE_MAX];

property_get("system_init.startsensorservice",propBuf, "1");

*system_server 进程名 SystemServer 类名
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: