您的位置:首頁技術文章
文章詳情頁

Android user版通過adb_enable開啟adb 調試 不提示對話框的流程分析

瀏覽:26日期:2022-09-24 13:08:58

需求解讀

由于定制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調試模式;通過代碼查找發現在frameworksbaseservicesusbjavacomandroidserverusbUsbDeviceManager.java中監聽

Android user版通過adb_enable開啟adb 調試 不提示對話框的流程分析

發送消息handler消息

Android user版通過adb_enable開啟adb 調試 不提示對話框的流程分析

獲取消息,進入如下方法

Android user版通過adb_enable開啟adb 調試 不提示對話框的流程分析

調取mDebuggingManager.setAdbEnabled(mAdbEnabled);目前就以ENABLED為例

Android user版通過adb_enable開啟adb 調試 不提示對話框的流程分析

收到消息創建線程:

Android user版通過adb_enable開啟adb 調試 不提示對話框的流程分析

監聽

Android user版通過adb_enable開啟adb 調試 不提示對話框的流程分析

發送handler消息,得到相應的key

Android user版通過adb_enable開啟adb 調試 不提示對話框的流程分析

進一步調取

Android user版通過adb_enable開啟adb 調試 不提示對話框的流程分析

啟動對應的activity,標記為對應的activity報名和類名

Android user版通過adb_enable開啟adb 調試 不提示對話框的流程分析

修改frameworksbasepackagesSystemUIsrccomandroidsystemuiusbUsbDebuggingActivity.java屏蔽授權彈框

Android user版通過adb_enable開啟adb 調試 不提示對話框的流程分析

禁止通知狀態欄usb顯示

/device/rockchip/xxxx/system.prop 添加 字段persist.adb.notify=0實現完成

總結

到此這篇關于Android user版通過adb_enable開啟adb 調試 不提示對話框的文章就介紹到這了,更多相關android 開啟adb 調試內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Android
相關文章:
国产综合久久一区二区三区