我的进阶曲线之七
来源:互联网 发布:安卓中文编程软件 编辑:程序博客网 时间:2024/05/22 03:12
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 类名
- 我的进阶曲线之七
- 我的进阶曲线之二
- 我的进阶曲线之三
- 我的进阶曲线之四
- 我的进阶曲线之五
- 我的进阶曲线之六
- 我的进阶曲线之八
- 我的进阶曲线之九
- 我的进阶曲线之十
- 我的进阶曲线之一
- 我的进阶曲线十一
- 我的进阶曲线十二
- 我的进阶曲线十三
- 我的进阶之路
- 我的代码进阶之步
- 我的C++进阶之路
- 开始我的进阶之路
- 我的python进阶之路一
- SNMP v1 v2 v3
- jQuery的相关知识点
- require.js使用步骤
- linux使用flock文件锁解决脚本重复执行问题
- java spring quartz定时调度从入门到精通
- 我的进阶曲线之七
- 10 java.lang.ThreadLocal
- [IOS 开发] iOS 如何将日期字符串转成NSDate
- c# b/s 网站中截取网页图片
- python中的enumerate
- Spring Batch学习之路- 简介(一)
- 【JavaWeb探究】自定义JSP标签(二)
- hello world
- Oracle中单引号的使用