日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 新增外设Service添加供app使用

發布時間:2023/12/14 Android 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 新增外设Service添加供app使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

LED Service添加供app使用基本流程
1、需要添加文件在源碼中的位置

2、具體需要添加的代碼路徑:
Kernel:
Dts:
a、kernel/msm-4.4/arch/arm/boot/dts/qcom/xxxx-mtp.dtsi
b、?kernel/msm-4.4/arch/arm/boot/dts/qcom/xxxxx.dtsi
c、?kernel/msm-4.4/arch/arm/boot/dts/qcom/msm-xxxxxl.dtsi
由于控制4A紙、finger和身份證三盞LED燈都是掛載到gpio_B口下,所以需要通過msm-pmxxxxxI.dtsi實現dts的配置操作
Driver:
a、kernel/msm-4.4/drivers/leds/leds-a4Paper.c?
b、?kernel/msm-4.4/drivers/leds/leds-finger.c?
c、?kernel/msm-4.4/drivers/leds/leds-idCard.c

Hal:
a、hardware/libhardware/modules/led/led.c?
b、hardware/libhardware/modules/led/Android.bp?
c、hardware/libhardware/include/hardware/led.h?
其他還需要將新加的LED hal控制做相關的打包處理?build/make/target/product/full_base.mk和LED 節點文件的權限修改device/qcom/common/rootdir/etc/init.qcom.rc

Frameworks:
JNI:
a、frameworks/base/services/core/jni/com_android_server_LedService.cpp?
b、?frameworks/base/services/core/jni/onload.cpp
c、frameworks/base/services/core/jni/Android.bp
Jni的封裝添加
Service:
a、frameworks/base/core/java/android/app/LedManager.java?
b、frameworks/base/services/core/java/com/android/server/LedService.java?
為添加的service文件
c、frameworks/base/core/java/android/app/ILedService.aidl?
跨進程調用添加
d、frameworks/base/core/java/android/app/SystemServiceRegistry.java
e、?frameworks/base/core/java/android/content/Context.java
context上下文服務添加

3、代碼基本流程

函數hw_get_module依次在目錄/system/lib /hw和/vendor/lib/hw中查找一個名稱為"<MODULE_ID>.variant.so"的文件,其 中,<MODULE_ID>是一個模塊ID

hw_get_module()函數利用HAL層注冊信息id,獲取相應的模塊。
hw_get_module_by_class()函數利用HAL層注冊信息id和name,獲取相應的模塊,主要用于id相同、name不同,即獲取相同功能但廠家不同的硬件庫。

總結

以上是生活随笔為你收集整理的Android 新增外设Service添加供app使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。