我想添加我自己的在 Android“system_server”(处理所有系统级服务)中运行的框架代码。我的服务加载了一个 JNI 库,该库与我添加到内核的驱动程序通信。该服务旨在允许应用程序向其注册监听器以从驱动程序获取更新。我找到了一篇很好的博客文章 ( http://www.androidenea.com/2009/12/adding-system-server-to-android.html),它解释了如何添加系统服务,但我无法让它完全正常工作。
首先,帖子提到应该使用“适当的”Android.mk 文件来编写客户端/测试应用程序,但没有给出这方面的示例。当我尝试构建它时,出现构建错误,提示找不到我添加的服务。有人可以举例说明这可能是什么样子吗?
此外,我想在供应商目录(或 froyo 中的设备目录)而不是在 Android 开源代码中实现它。博客文章提到,合适的位置是 vendor 目录,但没有给出它应该是什么样子的示例。有人知道吗?
有关在 Android 中实现您自己的系统服务的任何其他信息都会有所帮助。同样,我的具体工作流程是:
Android 应用 -> 系统服务 -> JNI( native )库 -> 设备驱动
最佳答案
德州仪器提供了一个很好的例子:
http://processors.wiki.ti.com/index.php/Android-Adding_SystemService
此外,CyanogenMod SystemServer.java 还具有用于动态加载系统服务的代码,如 config.xml 中数组“config_vendorServices”中所定义的(参见 core/res/res/values/config.xml),我相信这可以是使用覆盖在供应商或设备目录中覆盖。这是一个特定于 CyanogenMod 的添加,添加在此提交中:
关于android - 如何将系统服务添加到 Android Framework,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3232718/