何為adb?
adb(Android Debug Bridge)是一個(gè)android sdk的一個(gè)工具。
adb是用來連接安卓手機(jī)和PC端的橋梁,要有adb作為二者之間的維系,才能讓用戶在電腦上對(duì)手機(jī)進(jìn)行全面的操作。
Android的初衷是用adb這樣的一個(gè)工具來協(xié)助開發(fā)人員在開發(fā)android應(yīng)用的過程中更快更好的調(diào)試apk,因此adb具有安裝卸載apk、拷貝推送文件、查看設(shè)備硬件信息、查看應(yīng)用程序占用資源、在設(shè)備執(zhí)行shell命令等功能。
adb組成(三部分)
1.客戶端client:運(yùn)行在電腦上,可以通過adb命令來調(diào)用起一個(gè)客戶端。其他Android工具,例如ADT插件、DDMS都可以創(chuàng)建出一個(gè)客戶端。
2.服務(wù)器server:運(yùn)行在你電腦的后臺(tái),負(fù)責(zé)管理client和daemon進(jìn)行通信。
3.守護(hù)進(jìn)程daemon:運(yùn)行在模擬器或者Android設(shè)備的后臺(tái)。
adb常用命令
模擬器如何打開開發(fā)者模式:關(guān)于平板電腦-版本號(hào)連續(xù)點(diǎn)擊五下
模擬器連接:adb connect 127.0.0.1:62001? 斷開連接 adb disconnect?127.0.0.1:62001
adb pull? <手機(jī)路徑>? <PC路徑> 從手機(jī)中拉取信息放到本地電腦
adb push <PC路徑>? <手機(jī)路徑> 從本地推送信息到手機(jī)上去(/sdcard中的這個(gè)/表示根目錄。sdcard/中的這個(gè)/表示這是一個(gè)目錄而不是一個(gè)文件)
adb shell :
真機(jī)查看文件詳情ls -l? 查看文件內(nèi)容cat
adb logcat > D:\log\logcat.txt --重定向打印日志
adb install -r xxx.apk --------------------保留數(shù)據(jù)和緩存文件,重新安裝apk
adb uninstall -k 包名 ---------------------卸載應(yīng)用但保留數(shù)據(jù)和緩存文件
adb shell dumpsys activity | find "mFocusedActivity" 獲取前臺(tái)正在運(yùn)行的app包名(Android8.0以下)
adb shell dumpsys activity | find "mResumedActivity" 獲取前臺(tái)正在運(yùn)行的app包名(Android8.0以上)
adb shell dumpsys window | findstr mCurrentFocus? 獲取前臺(tái)正在運(yùn)行的app包名(萬能-推薦)
adb tcpip 5555 確定手機(jī)端和電腦端的wifi通訊端口
其他常用的adb命令:
adb端口占用
netstat -ano|findstr 4723
taskkill /f /pid 12728
獲取包名的6種方式
推薦:adb shell dumpsys window | findstr mCurrentFocus
1.adb shell dumpsys activity | find "mFocusedActivity" 獲取前臺(tái)正在運(yùn)行的app包名
2.adb shell pm list packages 獲取當(dāng)前設(shè)備內(nèi)安裝的所有app包名
3.adb shell 進(jìn)入到手機(jī)linux命令行模式 cd/data/data進(jìn)行查看(報(bào)錯(cuò)的話在su下輸入)
4.adb shell dumpsys activity top | find "ACTIVITY" 查看包名/啟動(dòng)名
5.adb shell dumpsys activity activities | findstr "Run"
常見adb命令
adb shell getprop ro.product.model? 手機(jī)型號(hào)
adb shell dumpsys battery? 電池狀況
adb shell wm size? 屏幕分辨率
adb shell wm density? 屏幕密度
adb shell getprop ro.build.version.release? 安卓版本
adb shell cat /proc/cpuinfo? cpu信息
adb shell cat /proc/meminfo? 內(nèi)存信息
adb出現(xiàn)Permission denied解決方法: adb shell -> su ->然后再操作