1. 下載adb
http://adbshell.com/upload/adb.zip
配置環(huán)境變量, 將adb的文件夾路徑加入到系統(tǒng)環(huán)境變量的path中即可
2. 基本命令
官方教程: https://developer.android.google.cn/studio/command-line/adb?hl=zh-cn
個人教程參考: https://gitcode.net/mirrors/mzlogin/awesome-adb
https://www.cnblogs.com/hyf20131113/p/10919586.html
3. 操作手機(jī)
- 查找手機(jī)
adb devices
查看已經(jīng)連接到電腦的手機(jī)
adb wait-for-device
讓adb一直查找安卓設(shè)備,找到后才停止
- 鎖定/解鎖/重啟/關(guān)機(jī)
adb shell input keyevent 26
鎖定手機(jī)
adb shell input keyevent 82
點(diǎn)亮屏幕或在已點(diǎn)亮屏幕時解鎖手機(jī)(如果設(shè)置了密碼,會提示輸入密碼)
adb shell input text 123456 && adb shell input keyevent 66
輸入密碼,并回車
adb reboot
重啟
adb shell reoot
重啟
adb shell reboot -p
關(guān)機(jī)
- 查看手機(jī)屏幕尺寸
adb shell dumpsys window displays
打印屏幕詳細(xì)信息
adb shell wm size
打印屏幕簡略信息
adb shell wm density
查看屏幕分辨率
adb shell wm density 240
設(shè)置屏幕分辨率(立即生效)
adb shell wm size reset
恢復(fù)原屏幕分辨率
-4. 系統(tǒng)設(shè)置
adb shell service call bluetooth_manager 6
打開藍(lán)牙
adb shell service call bluetooth_manager 9
關(guān)閉藍(lán)牙
adb shell svc wifi enable
打開wifi
adb shell svc wifi disable
關(guān)閉wifi
adb shell am start -a android.intent.action.MAIN -n com.android.settings/.wifi.WifiSettings
打開wifi設(shè)置界面
adb shell svc power stayon [true|false|usb|ac|wireless]
[]括號中選一個,true: 任何情況下均保持亮屏 false:任何情況下均不保持亮屏(經(jīng)過設(shè)定的時間后自動黑屏) usb, ac, wireless:設(shè)置其中之一時倦畅,僅在這一種情況下才保持亮屏内地。
adb shell getprop ro.product.model
查看型號
adb shell dumpsys battery
電池狀況
adb shell settings get secure android_id
android_id
adb shell getprop ro.build.version.release
android系統(tǒng)版本
adb shell ifconfig wlan0
wifi網(wǎng)絡(luò)信息
adb shell netcfg
查看網(wǎng)絡(luò)連接狀態(tài)
adb shell cat /proc/cpuinfo
CPU信息
adb shell cat /proc/meminfo
內(nèi)存信息
adb shell settings put global adb_enabled 0
關(guān)閉 USB 調(diào)試模式
adb shell ps
查看進(jìn)程
adb shell top
查看實(shí)時資源占用情況
-5. 模擬本機(jī)操作
更多按鍵代碼看這里
adb shell input keyevent 111
關(guān)閉軟鍵盤(其實(shí)是按下ESC追葡,111=KEYCODE_ESCAPE)
adb shell input touchscreen swipe 930 880 930 380
向上滑,模擬滑動觸屏
adb shell input touchscreen swipe 930 880 330 880
向左滑,模擬滑動觸屏
adb shell input touchscreen swipe 330 880 930 880
向右滑,模擬滑動觸屏
adb shell input touchscreen swipe 930 380 930 880
向下滑,模擬滑動觸屏
adb shell input mouse tap 100 500
模擬鼠標(biāo)操作(屏幕坐標(biāo), 原點(diǎn)在屏幕左上角)
adb shell input keyevent 26
#電源鍵
adb shell input keyevent 82
#菜單鍵
adb shell input keyevent 3
#HOME 鍵
adb shell input keyevent 4
#返回鍵
adb shell input keyevent 24
#增加音量
adb shell input keyevent 25
#降低音量
adb shell input keyevent 164
#靜音
adb shell input keyevent 85
#播放/暫停
adb shell input keyevent 86
#停止播放
adb shell input keyevent 87
#播放下一首
adb shell input keyevent 88
#播放上一首
adb shell input keyevent 126
#恢復(fù)播放
adb shell input keyevent 127
#暫停播放
adb shell input keyevent 224
#點(diǎn)亮屏幕
adb shell input keyevent 223
#熄滅屏幕
adb shell input swipe 300 1000 300 500
#滑動解鎖预皇,向上滑動手勢解鎖
adb shell input text hello
#焦點(diǎn)處于某文本框時輸入文本
- 運(yùn)行程序
adb shell dumpsys window w |findstr \/ |findstr name=
查看已打開app的包名
adb shell am start -a android.intent.action.CALL -d tel:10010
撥打電話
adb shell am start -a android.intent.action.VIEW -d http://google.com
打開網(wǎng)站
adb shell am start -n com.package.name/com.package.name.MainActivity
啟動APP
adb shell am start -n com.package.name/.MainActivity
啟動APP
adb shell monkey -p com.android.contacts -c android.intent.category.LAUNCHER 1 Events injected: 1
啟動APP
adb shell am start -n cn.xuexi.android/com.alibaba.android.rimet.biz.SplashActivity
打開學(xué)習(xí)強(qiáng)國
adb shell am start -n com.tencent.mm/.ui.LauncherUI
打開微信
adb shell am force-stop cn.xuexi.android
關(guān)閉學(xué)習(xí)強(qiáng)國
adb shell am force-stop com.tencent.mm
關(guān)閉微信
adb shell dumpsys activity activities | sed -En -e '/Running activities/,/Run #0/p'
查看當(dāng)前活躍的應(yīng)用及頁面地址
- 硬件高級調(diào)節(jié)
adb get-serialno
查看設(shè)備序列號
adb shell ls sys/class/thermal/
查看溫度區(qū)域列表
adb shell cat /sys/class/thermal/thermal_zone0/temp
查看某個CPU溫度
adb shell cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
查看當(dāng)前手機(jī)可用的governor
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
鎖定CPU為最大頻率
- 刷機(jī)
adb reboot recovery
恢復(fù)模式
adb reboot bootloader
adb reboot-bootloader
adb reboot boot loader
刷機(jī)模式。不同手機(jī)逮诲,命令不同帜平,要試一下。
adb reboot fastboot
進(jìn)入fastboot模式
- 調(diào)試
adb wait-for-device && adb shell logcat -v threadtime | tee mybootup.log
抓取開機(jī)日志
adb logcat
查看日志
adb kill-server
關(guān)閉adb服務(wù)進(jìn)程
adb start-server
重啟adb服務(wù)進(jìn)程
adb push test.zip /sdcard/
從本地復(fù)制文件到設(shè)備
adb pull /adcard/adb.zip ./
從設(shè)備復(fù)制文件到本地
adb shell pm list packages
顯示已經(jīng)安裝的APP的包名
adb install abc.apk
第一次安裝,如果已存在,則報錯
adb install -r abc.apk
如果已經(jīng)安裝過,保留原app數(shù)據(jù)
adb uninstall com.example.appname
卸載app
adb shell getevent -ltr
捕獲鍵盤操作
``
- 截圖
方式1:
adb exec-out screencap -p > img.png
在window中打開會報錯, 原因是linux的換行符與windows不一致查看,
adb shell screencap -p | sed "s/\r$//" > img.png
windows下截圖, 使用bash命令把換行符替換掉, 如果報sed錯誤, 可將Git的bin目錄C:\Program Files\Git\usr\bin
添加到系統(tǒng)環(huán)境變量path中
方式2:
adb shell screencap -p /sdcard/img.png
截屏并保存到手機(jī)
adb pull /sdcard/img.png ./
拷貝文件到本地電腦
adb shell rm /sdcard/img.png
刪除文件
方式3:
adb shell screencap -p /sdcard/img.png && adb pull /sdcard/img.png ./ && adb shell rm /sdcard/img.png
連起來也能達(dá)到截屏的目的
- 錄屏
adb shell screenrecord /sdcard/filename.mp4
錄屏
錄屏 screenrecord 參數(shù) 含義
--size WIDTHxHEIGHT 視頻的尺寸梅鹦,比如 1280x720裆甩,默認(rèn)是屏幕分辨率。
--bit-rate RATE 視頻的比特率齐唆,默認(rèn)是 4Mbps嗤栓。
--time-limit TIME 錄制時長,單位秒箍邮。
--verbose 輸出更多信息茉帅。