gpt4 book ai didi

android - 如何将系统服务添加到 Android Framework

转载 作者:可可西里 更新时间:2023-11-01 18:45:49 26 4
gpt4 key购买 nike

我想添加我自己的在 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 的添加,添加在此提交中:

https://github.com/CyanogenMod/android_frameworks_base/commit/88fff90131f54d45dc496c45127ac1d16ad257df

关于android - 如何将系统服务添加到 Android Framework,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3232718/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com