Android user版通過adb_enable開啟adb 除錯 不提示對話方塊的流程分析
阿新 • • 發佈:2020-05-12
需求解讀
由於定製rom給使用者具體需求如下:
- 入工廠測試app自動開啟adb除錯模式,退出就關閉,防止客戶的使用者安裝其它應用(直接通過改變Settings.Global.ADB_ENABLED欄位)
- 開啟usbdebug不提示彈出框
- 禁止除錯圖標出現在通知狀態列
過程分析
通過欄位關閉和開啟usb除錯模式
通過開啟開發者模式最終發現開啟或者關閉是改變如下欄位:
Settings.Global.putInt(getContentResolver(),Settings.Global.ADB_ENABLED,0);
開啟USBdebug不彈框流程
當adb_enable為0時會關閉adb除錯模式,為1是會有彈框提示點選確認時會預設開啟usb除錯模式;通過程式碼查詢發現在frameworks\base\services\usb\java\com\android\server\usb\UsbDeviceManager.java中監聽
傳送訊息handler訊息
獲取訊息,進入如下方法
調取mDebuggingManager.setAdbEnabled(mAdbEnabled);目前就以ENABLED為例
收到訊息建立執行緒:
監聽
傳送handler訊息,得到相應的key
進一步調取
啟動對應的activity,標記為對應的activity報名和類名
修改frameworks\base\packages\SystemUI\src\com\android\systemui\usb\UsbDebuggingActivity.java
遮蔽授權彈框
禁止通知狀態列usb顯示
/device/rockchip/xxxx/system.prop 新增 欄位persist.adb.notify=0
總結
到此這篇關於Android user版通過adb_enable開啟adb 除錯 不提示對話方塊的文章就介紹到這了,更多相關android 開啟adb 除錯內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!