首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用init.rc中的android服务

禁用init.rc中的android服务
EN

Stack Overflow用户
提问于 2013-04-29 07:27:57
回答 2查看 12.5K关注 0票数 5

我正在开发一个新的硬件平台,我需要在这个平台上发布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还是一个一个地禁用所有服务?谢谢!

EN

回答 2

Stack Overflow用户

发布于 2013-07-25 18:53:40

假设您已经成功地引导了android,那么您可以使用以下命令关闭android框架:

代码语言:javascript
复制
setprop vold.decrypt trigger_shutdown_framework

此命令是作为蜂窝加密系统的一部分实现的。它将关闭除核心本地服务之外的所有其他服务:

  • 初始化
  • adbd -这样你还可以把亚行壳放到电话里。
  • servicemanager --它处理本机(而不是android)序列化。
  • 尤事件d

您可以使用以下命令重新启动android框架:

代码语言:javascript
复制
setprop vold.decrypt trigger_restart_framework

显然,你必须是做这件事的根源。

票数 4
EN

Stack Overflow用户

发布于 2013-04-30 07:08:59

我搜索了很多,并找到了一个特殊的解决方案来禁用可能有效的Android服务,在Android源代码中有一个init.rc文件。

代码语言:javascript
复制
./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服务可能不会初始化,因为内核引导出现了一些恐慌,我还没有对其进行测试,但希望它是解决方案。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16273301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档