一:adb常用指令大全
參考連結:https://github.com/mzlogin/awesome-adb
1. 關閉adb服務:adb kill-server
2. 開啟adb服務:adb start-server
3. 檢視目前連接配接的手機裝置:adb devices
4. 擷取系統版本: adb shell getprop ro.build version.release
5. 重新開機裝置 adb reboot --指定虛拟裝置 adb -s 裝置名稱 reboot
6. 檢視日志 adb logcat 清除日志 adb logcat -c
7. 進入linux shell下 adb shell 其中常用的linux指令 cd cat 等等 輸入su可以擷取超級管理者名稱了 要确定是否有哪些指令 進入 system/bin目錄 就知道了
8. adb connect [ip:post] #代理連結
9. adb shell cat /sys/class/net/wlan0/address #擷取MAC位址
10. adb install <name.apk> #安裝應用包的路徑
11. adb uninstall <name.apk> #解除安裝安裝包必須填包名
12. adb install -r <name.apk> #儲存緩存檔案重新安裝apk
13.adb disconnect <裝置名> #斷開連接配接
14. adb push filename /sdcard/ #檔案複制到移動裝置 ,後面跟裝置目錄
15. adb shell input tap #模拟位置點選(x,y)
16. adb shell input swipe #模拟滑動( x,y,x1,y1 ),還可傳入滑動緩沖
17. uiautomator dump dump: creates an XML dump of current UI hierarchy #擷取目前頁面的UI層次,儲存為xml檔案
18. 發生檔案到手機: adb push C:\Users\Administrator\Desktop\xx.txt /sdcard
19. 從手機拉取檔案: adb pull /sdcard/xx.txt C:\Users\Administrator\Desktop
20.擷取app包名和啟動名(手機需要先打開對應的app)
1)Windows: adb shell dumpsys window windows | findstr mFocusedApp
2)adb shell dumpsys activity top | find "ACTIVITY" 檢視包名/啟動名
3)adb shell dumpsys activity activities | findstr "Run" 特别提醒,通過這個指令行檢視啟動名,上面的兩個個有可能會出錯
21.擷取app啟動時間 adb shell am start -W 包名/啟動名
示例: adb shell am start -W com.yly.drawpic/.MainActivty
解釋:TotalTime: app自身啟動時間 WaitTime: 系統啟動應用時間
二:adb模拟按鍵
keycode | 含義 |
---|---|
3 | HOME 鍵 |
4 | 傳回鍵 |
5 | 打開撥号應用 |
6 | 挂斷電話 |
24 | 增加音量 |
25 | 降低音量 |
26 | 電源鍵 |
27 | 拍照(需要在相機應用裡) |
64 | 打開浏覽器 |
82 | 菜單鍵 |
85 | 播放/暫停 |
86 | 停止播放 |
87 | 播放下一首 |
88 | 播放上一首 |
122 | 移動光标到行首或清單頂部 |
123 | 移動光标到行末或清單底部 |
126 | 恢複播放 |
127 | 暫停播放 |
164 | 靜音 |
176 | 打開系統設定 |
187 | 切換應用 |
207 | 打開聯系人 |
208 | 打開月曆 |
209 | 打開音樂 |
210 | 打開電腦 |
220 | 降低螢幕亮度 |
221 | 提高螢幕亮度 |
223 | 系統休眠 |
224 | 點亮螢幕 |
231 | 打開語音助手 |
276 | 如果沒有 wakelock 則讓系統休眠 |
adb shell input keyevent 26 #執行效果相當于按電源鍵
如果鎖屏沒有密碼,是通過滑動手勢解鎖,那麼可以通過 input swipe 來解鎖
adb shell input swipe 300 1000 300 500
參數 300 1000 300 500 分别表示起始點x坐标 起始點y坐标 結束點x坐标 結束點y坐标
adb shell input text hello
在焦點處于某文本框時,可以通過 input 指令來輸入文本hello
三 實用功能
1)螢幕截圖
将截圖儲存到電腦裡(如果 adb 版本較老,無法使用
exec-out
指令,這時候建議更新 adb 版本)
adb exec-out screencap -p > sc.png
先将截圖儲存到裝置裡
adb shell screencap -p /sdcard/sc.png
然後将PNG推到裝置裡
adb pull /sdcard/sc.png
2)錄制螢幕
錄制螢幕以 mp4 格式儲存到 /sdcard:
adb shell screenrecord /sdcard/filename.mp4
需要停止時按 Ctrl-C,預設錄制時間和最長錄制時間都是 180 秒。
如果需要導出到電腦:
adb pull /sdcard/filename.mp4
3)檢視連接配接WIFI密碼
注:需要 root 權限
adb shell
su
cat /data/misc/wifi/*.conf
檢視示例:
network={
ssid="TP-LINK_9DFC"
scan_ssid=1
psk="123456789"
key_mgmt=WPA-PSK
group=CCMP TKIP
auth_alg=OPEN
sim_num=1
priority=13893
}
network={
ssid="TP-LINK_F11E"
psk="987654321"
key_mgmt=WPA-PSK
sim_num=1
priority=17293
}
ssid
即為我們在 WLAN 設定裡看到的名稱,
psk
為密碼,
key_mgmt
為安全加密方式。
4)進行Moneky壓力測試
Monkey 可以生成僞随機使用者事件來模拟單擊、觸摸、手勢等操作,可以對正在開發中的程式進行随機壓力測試。
adb shell monkey -p <packagename> -v 500