运行 Android 中守护进程服务的最新方法是什么?

What is a recent way of running a daemon service in Android?

我看过一些很老的帖子,比如 How to launch a native server application (ELF) on a rooted Android at/after boot? 有了这个答案: and this questions Android daemon process 这两个都涉及到我的问题,但并没有真正给出我需要做什么的答案。此外,由于关于这个主题只有几个问题,或者这显然很简单,没有必要问问题,或者我没有使用正确的术语进行搜索

我有一个本地构建的应用程序,我 运行 在 Android(AOSP) 开发板上以 root 身份运行。

从控制台启动这个程序工作正常,但我希望它在启动时在后台自动启动。

我就是这样解决这个问题的。 我的工具构建在 aosp 树中。

  • 添加了一个文件mytool.rc这个文件被推送到/etc/init
on boot
start myservice
service myservice /bin/mytool
   user root
   seclabel u:r:su:s0
   disabled
  • 已将 rc 文件添加到 Android.bp
cc_binary {
    name: "mytool",
    init_rc: ["mytool.rc"],
    defaults: ["mytool_defaults"],
    srcs: [
        "mytool.cpp",
    ],
}
  • 通过运行shell命令setenforce 0
  • 临时将SELinux设置为宽容模式
  • 服务是用 shell 命令启动的 start mytool