1

我想在 init.rc 中注册我的服务或我的应用程序

换句话说,一个普通的android应用程序有ZYGOTE作为它的父级,它可以在强制停止后被杀死。但是,如果注册或使我的应用程序成为父 级 init.rc,我将能够实现我想要的!

有相同的信息吗?提前致谢

4

2 回答 2

1

我不确定您要完成什么。如果你想要一个在系统进程中运行的服务,那么你应该有一个战利品: http: //processors.wiki.ti.com/index.php/Android-Adding_SystemService

如果您希望此服务在有人杀死它或服务管理器被杀死时重新启动。然后您需要执行以下操作:

  • 你的班级必须有一个void main(int arcgc, argv[])运行它。这意味着您的服务必须是可执行文件(用 cpp 编写)
  • 将此添加到init.rc

服务 your_service_name 位置

  class main
  critical
  onrestart restart zygote

并修改它说的地方servicemanager

service servicemanager /system/bin/servicemanager
    class core
    user system
    group system
    critical
    onrestart restart zygote
    onrestart restart media
    onrestart restart surfaceflinger
    onrestart restart drm
    onrestart restart your_service_name

您应该查看:https ://github.com/android/platform_system_core/blob/master/init/README.md 以获得更多选项。

如果您想查看参考bootaniminit.rc查看它是如何实现的

于 2013-04-25T07:55:02.823 回答
1

AFAIK 只有可执行文件可以从 init.rc 启动。无法从 init.rc 启动 android 服务。

于 2012-10-06T08:36:27.430 回答