我正在开发一个新的硬件平台,我需要在这个平台上发布Android操作系统。对于初始测试,我需要停止安卓init.rc文件中的所有安卓服务。我在代码库./bootable/diskinstaller/init.rc ./bootable/recovery/etc/init.rc ./system/core/rootdir/init.rc中搜索./bootable/diskinstaller/init.rc ./bootable/recovery/etc/init.rc ./system/core/rootdir/init.rc文件,我需要知道如何识别init.rc中的init.rc服务,我正在考虑禁用android。要停止所有与android相关的服务,停止dalvic VM还是一个一个地禁用所有服务?谢谢!
发布于 2013-07-25 18:53:40
假设您已经成功地引导了android,那么您可以使用以下命令关闭android框架:
setprop vold.decrypt trigger_shutdown_framework此命令是作为蜂窝加密系统的一部分实现的。它将关闭除核心本地服务之外的所有其他服务:
您可以使用以下命令重新启动android框架:
setprop vold.decrypt trigger_restart_framework显然,你必须是做这件事的根源。
发布于 2013-04-30 07:08:59
我搜索了很多,并找到了一个特殊的解决方案来禁用可能有效的Android服务,在Android源代码中有一个init.rc文件。
./system/core/rootdir/init.rc此init.rc文件描述需要设置的系统服务、文件系统和其他参数。由于init进程是在内核加载后执行的第一个进程,因此init进程查找这个init.rc脚本文件,然后解析它并启动系统服务进程。
有一个名为Zygote (dalvic VM)的服务,用于初始化系统中第一个运行的组件,该组件包含所有服务的声明。
service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server class main
socket zygote stream 660 root system
onrestart write /sys/android_power/request_state wake
onrestart write /sys/power/state on
onrestart restart media
onrestart restart netd
android服务在SystemServer.java.The路径的run()方法中声明,因为文件是
/frameworks/base/services/java/com/android/server/SystemServer.java
如果我们注释掉合子,android服务可能不会初始化,因为内核引导出现了一些恐慌,我还没有对其进行测试,但希望它是解决方案。)
https://stackoverflow.com/questions/16273301
复制相似问题