添加硬件访问服务主要涉及三部分,JNI、AIDL、和Service。
frameworks/base/services/core/jni/
添加jni接口实现文件com_android_server_LedService.cpp。 com_android_server_LedService.cpp源文件:......static const JNINativeMethod methods[] = { {"native_ledOpen", "()I", (void *)ledOpen}, {"native_ledClose", "()V", (void *)ledClose}, {"native_ledCtrl", "(II)I", (void *)ledCtrl},};int register_android_server_LedService(JNIEnv *env){ return jniRegisterNativeMethods(env, "com/android/server/LedService", methods, NELEM(methods));}2 修改frameworks/base/services/core/jni/onload.cpp
3 修改frameworks/base/services/core/jni/Android.mk
1.把 ILedService.aidl 放入 frameworks/base/core/java/android/os
frameworks/base/Android.mk
添加一行 core/java/android/os/IVibratorService.aidl / +core/java/android/os/ILedService.aidl / 1.添加新文件frameworks/base/services/java/com/android/server/SystemServer.java
2.修改文件frameworks/base/services/java/com/android/server/SystemServer.java
新闻热点
疑难解答