在android中的init.rc中注册我的应用程序,自动重启

时间:2012-10-06 07:38:44

标签: android android-ndk android-framework

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

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

关于它的任何信息?提前致谢

2 个答案:

答案 0 :(得分:1)

只有AFAIK可执行文件可以从init.rc启动。没有办法从init.rc启动Android服务。

答案 1 :(得分: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.txt 了解更多选择。

如果您希望引用查看bootanim中的init.rc并查看其实施方式