如何使原生 Unix/Linux 守护进程在 Android 上运行?

4xy*_*4xy 5 c++ linux service android

我在互联网上搜索了几天没有结果。因此,我决定要求社区对此有所了解。

我有一个用 C++ 编写的应用程序,它是为 Android 操作系统编译的。该应用程序也可以作为守护程序运行(通过指定 --daemon 选项)。当它作为常规可执行文件运行时,它工作正常,但是当我尝试将它作为守护程序启动时,它在执行 fork() 后消失了,我在 logcat 中看到了它。

问题是: 1. 是否可以将Unix/Linux 守护进程代码适配到Android 上?如果是如何?2. 如何开机启动?我想通过 init.rc,但如何持续编辑它?3. 如果没有。是否有任何特定于 android 的方法来解决该任务?

请随时发布您认为有用的链接。

Ale*_*ohn 2

是的,这可以在平台级别上完成。从本质上讲,Android 几乎是另一个 Linux 系统,它运行 Linux 风格的服务。您可以选择 AOSP 中的现有服务(例如 SurfaceFlinger),并向其中添加您的功能。或者您可以从头开始开发自己的服务。无论如何,您首先要构建自己的 AOSP 分支。

这是一个很好的教程:https ://devarea.com/aosp-adding-a-native-daemon