使用 ndk 创建原生后台应用程序
Creating a native background application using ndk
如何使用 Android NDK 在单个 Android 应用程序中创建多个后台应用程序?
在使用 NDK 创建一些后台应用程序方面需要帮助。我的 C 应用程序在后台使用了几个 运行 的独立应用程序(作为 windows 上的服务)。所以我的问题是如何在 Andriod 平台上创建这些独立的应用程序?
我知道这些必须是 Android 应用程序中的服务,但服务是 Java 代码并且 NDK 不支持 C 服务并且我所有的应用程序代码都在 C 中。所以如何将这些独立应用程序与使用这些独立帮助应用程序的主应用程序一起移植到 Android。他们应该成为单独的图书馆吗?
如果它们是单独的库,那么我如何确保它们在后台保持 运行ning?我不确定,所以任何指导都会非常有帮助。我不想 root 设备。
Android 与 Windows 非常不同,移植 Windows 服务可能是一个重大挑战。
首先,IPC 协议不同,因此您可能需要修改才能简单地编译您的代码。
第二期是Android的后台执行模型。在较新的版本中,自 Marshmallow 以来,Google 通过主动终止所有后台服务来延长电池寿命。
因此,如果您希望这些进程始终 运行ning,则必须将您的应用程序置于前台。
也就是说,您可以为 Android 构建和 运行 命令行可执行文件,而无需将其包装到 Android (Java) 应用程序或服务中。
您可以从 android shell 运行 它们(至少用于测试),或使用 Runtime.exec() 来自 Java。如果你对设备进行 root,你甚至可以在启动时从 init.rc 启动这些可执行文件,就好像它是一个普通的 Linux 盒子一样。
如何使用 Android NDK 在单个 Android 应用程序中创建多个后台应用程序?
在使用 NDK 创建一些后台应用程序方面需要帮助。我的 C 应用程序在后台使用了几个 运行 的独立应用程序(作为 windows 上的服务)。所以我的问题是如何在 Andriod 平台上创建这些独立的应用程序?
我知道这些必须是 Android 应用程序中的服务,但服务是 Java 代码并且 NDK 不支持 C 服务并且我所有的应用程序代码都在 C 中。所以如何将这些独立应用程序与使用这些独立帮助应用程序的主应用程序一起移植到 Android。他们应该成为单独的图书馆吗?
如果它们是单独的库,那么我如何确保它们在后台保持 运行ning?我不确定,所以任何指导都会非常有帮助。我不想 root 设备。
Android 与 Windows 非常不同,移植 Windows 服务可能是一个重大挑战。
首先,IPC 协议不同,因此您可能需要修改才能简单地编译您的代码。
第二期是Android的后台执行模型。在较新的版本中,自 Marshmallow 以来,Google 通过主动终止所有后台服务来延长电池寿命。
因此,如果您希望这些进程始终 运行ning,则必须将您的应用程序置于前台。
也就是说,您可以为 Android 构建和 运行 命令行可执行文件,而无需将其包装到 Android (Java) 应用程序或服务中。
您可以从 android shell 运行 它们(至少用于测试),或使用 Runtime.exec() 来自 Java。如果你对设备进行 root,你甚至可以在启动时从 init.rc 启动这些可执行文件,就好像它是一个普通的 Linux 盒子一样。