我尝试使用此链接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.
答案 0 :(得分:1)
解决了它。不得不从头开始,重建和编译整个来源。
github有点不对劲。实际上我必须创建另一个文件夹来放置服务java类文件。这就是为什么android无法找到它(根据调试消息)。
当你盲目追随别人的工作时,就会发生这种情况。谢谢你的帮助。
答案 1 :(得分:0)
该项目中的代码适用于5.0.1(Lollipop),您正在为5.1.1(也是Lollipop,但不同)构建。确保核心框架,HAL等文件只是使用此repo中的更改修补到您的AOSP而不是复制过来。如果您只是复制了此repo中的文件,则可能会清除在5.0.1和5.1.1之间添加到系统服务器或其他框架组件的内容。您很可能需要手动检查和修补文件。