2012-10-06 46 views
1

我要註冊我的服務或我的init.rc應用註冊我在Android的init.rc應用程序,自動重啓

換句話說,一個正常的Android應用程序有合子作爲其母公司,其可以在強行停止後被殺死。 但是,如果註冊或使我的申請家長init.rc,我將能夠實現我想要的!

任何信息都一樣嗎?在此先感謝

回答

1

AFAIK唯一的可執行文件可以從init.rc啓動。沒有辦法從init.rc啓動一個android服務。

+0

好吧,我怎麼把我的側面init.rc可執行它是自動執行? –

+0

另外,如果我編輯init.rc ...它會回滾到原來的?我如何管理? –

+0

如果您準備自定義ROM,您可以自由修改**/init.rc **;否則,如果設備植根,則可以將**/**重新掛載爲r/w。但即使如此,ROM也可以從安全備份中恢復。 AFAIK這發生在三星Galaxy系列。 –

1

我不確定你想要完成什麼。 如果你想要一個在系統進程中運行的服務,那麼你應該在:http://processors.wiki.ti.com/index.php/Android-Adding_SystemService有一個戰利品。

如果您希望此服務在有人死亡時重新啓動,或者每當servicemanager死亡時重啓。然後您需要執行以下操作:

  • 您的課程必須有運行它的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 更多選擇。

如果你想參考一下bootaniminit.rc,看看它是如何實現的

相關問題