在 android 中创建系统服务

Creating system service in android

我尝试使用此 link https://github.com/nayobix/add-new-hardware-hal-android-5-lollipop 实现自定义 HAL、API 和系统服务 (还检查了其他几个)

我按照每条指令和代码制作了 system.img。

我正在使用 Android 5.1.1 源构建系统映像。

但是当我在 Android Studio 中检查 logcat 时设备没有启动。我发现系统服务没有加载。

08-09 11:32:27.123 160-160/? I/DEBUG: Abort message: 'art/runtime/jni_internal.cc:769] JNI FatalError called: Native registration unable to find class 'com/android/server/ZigbeeService'; aborting...'
08-09 11:32:27.123 160-160/? I/DEBUG:     #09 pc 000174bd  /system/lib/libandroid_servers.so (JNI_OnLoad+172)
08-09 11:32:27.336 20208-20208/? E/Zygote: Exit zygote because system server (20435) has terminated

同样在编译时,我收到了一些警告,比如。

Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

该项目中的代码适用于 5.0.1 (Lollipop),您正在为 5.1.1(也是 Lollipop,但不同)构建。请确保核心框架、HAL 等文件只是用此存储库中的更改修补到您的 AOSP 中,而不是复制过来。如果你只是简单地从这个 repo 复制文件,你可能会删除一些在 5.0.1 和 5.1.1 之间添加到系统服务器或其他框架组件的东西。您很可能需要手动检查和修补文件。

解决了。不得不从头开始,重建和编译整个源代码。

github 有点不对。实际上我必须创建另一个文件夹来放置服务 java class 文件。这就是 android 找不到它的原因(根据调试消息)。

当你盲目地关注别人的工作时就会发生。感谢大家的帮助。