相關(guān)基礎(chǔ)知識點(diǎn)
1赚抡、adb服務(wù)使用的端口號:5037
PC 端的手機(jī)助手爬坑,如 360 手機(jī)助手、豌豆莢涂臣、應(yīng)用寶等盾计,可能會(huì)與 Android SDK 下的 adb 程序產(chǎn)生沖突,5037 端口被占用,導(dǎo)致使用 adb 命令時(shí)無法連接到設(shè)備署辉。
通用命令
adb version
顯示adb的版本號
adb start-server
開啟adb服務(wù)
adb kill-server
終止adb服務(wù)
adb devices
, 獲取設(shè)備列表及設(shè)備狀態(tài)
adb get-state
, 獲取設(shè)備的狀態(tài)(設(shè)備的狀態(tài)有 3 鐘族铆,device 設(shè)備正常連接, offline連接出現(xiàn)異常,設(shè)備無響應(yīng) , unknown沒有連接設(shè)備)
adb shell
,進(jìn)入目標(biāo)設(shè)備的Linux Shell環(huán)境, 在該環(huán)境中可以執(zhí)行一些Linux命令.如在Linux Shell環(huán)境中執(zhí)行ps可以查看android設(shè)備中運(yùn)行的所有進(jìn)程.在Linux Shell環(huán)境中執(zhí)行exit可以退出Linux Shell環(huán)境
實(shí)用命令
1涨薪、adb bugreport
, 打印dumpsys骑素、dumpstate、logcat的輸出刚夺,也是用于分析錯(cuò)誤
輸出比較多献丑,建議重定向到一個(gè)文件中
adb bugreport > d:\bugreport.log
2、adb install <apk file name>
, 將指定的app安裝到唯一連接到adb的設(shè)備上,后邊跟的參數(shù)為安裝包的文件名侠姑,覆蓋安裝是使用 -r 選項(xiàng)创橄,保留原有應(yīng)用程序的所有數(shù)據(jù)
在cmd里進(jìn)入apk所在目錄后
adb install -r XXX.apk
3、adb uninstall -k <package name>
, 卸載應(yīng)用莽红,-k , 但是保留配置文件和緩存
后面跟的參數(shù)是應(yīng)用的包名妥畏,請區(qū)別于 apk 文件名(文件名沒用的)
4、adb pull <remote> [<local>]
, 將目標(biāo)設(shè)備中的文件或目錄拷貝到本機(jī)中
例如復(fù)制 init 文件到 D 盤:adb pull init d:\
如果需要重命名為 rename.txt:adb pull init d:\rename.txt
注意權(quán)限安吁,復(fù)制系統(tǒng)權(quán)限的目錄下的文件醉蚁,需要 root
5、adb push <local> <remote>
, 將本機(jī)的文件或目錄拷貝到目標(biāo)設(shè)備的文件系統(tǒng)中
例如推送 D 盤下的testrabbit.txt 至 /mnt:adb push d:\testrabbit.txt /mnt/
有時(shí)會(huì)提示 failed to copy 'testrabbit.txt' to '/mnt//testrabbit.txt': Read-only file system
則在shell命令行中輸入:adb root
切換到root用戶
然后執(zhí)行如下命令:(注意 /表示的是根目錄鬼店,因此這個(gè)不僅僅是對sdcard网棍,其他文件也可以讀寫。rw表示 讀寫權(quán)限妇智,mount重掛載文件系統(tǒng))
6滥玷、adb root , adb remount
,可以直接已這兩個(gè)命令獲取 root 權(quán)限,并掛載系統(tǒng)文件系統(tǒng)為可讀寫狀態(tài)
7巍棱、adb shell dumpsys activity
列出目標(biāo)設(shè)備上的activity棧(back stack)和任務(wù)(task)的信息, 還有其他組件的一些信息和一些關(guān)于進(jìn)程的信息
8惑畴、 adb shell dumpsys packages
列出一些系統(tǒng)信息和所有應(yīng)用的信息。這個(gè)命令的輸出很龐大航徙,在三星nexus上的輸出有12000多行如贷。這些信息都非常詳細(xì),包括Features到踏,Activity Resolver Table等倒得。
9、adb shell pm list permissions
夭禽,列出目標(biāo)平臺上的所有權(quán)限
10霞掺、adb shell pm list packages
,列出目標(biāo)設(shè)備上安裝的所有app的包名
11讹躯、adb shell pm list features
菩彬,列出目標(biāo)設(shè)備上的所有feature
常用情況舉例
1 使用adb命令啟動(dòng)一個(gè)Activity
adb shell am start -n {包(package)名}/{包名}.{活動(dòng)(activity)名稱}
2 保存日志到本機(jī)
adb shell logcat > d:\log.txt
logcat -v time > /mnt/sda/sda1/log.txt
3 screencap缠劝,截圖
adb shell screencap -p /sdcard/screen.png
4 wm,獲取分辨率
adb shell wm size
參考網(wǎng)站:
https://www.cnblogs.com/testrabbit/p/6011329.html
https://www.cnblogs.com/kinglearnjava/p/4883274.html
https://www.cnblogs.com/bravesnail/articles/5850335.html