adb 常用命令

adb logcat 命令格式 : adb logcat [選項(xiàng)] [過濾項(xiàng)], 其中 選項(xiàng) 和 過濾項(xiàng) 在 中括號 [] 中, 說明這是可選的;

選項(xiàng)解析 :

-- "-s"選項(xiàng) : 設(shè)置輸出日志的標(biāo)簽, 只顯示該標(biāo)簽的日志;

--"-f"選項(xiàng) : 將日志輸出到文件, 默認(rèn)輸出到標(biāo)準(zhǔn)輸出流中, -f 參數(shù)執(zhí)行不成功;

--"-r"選項(xiàng) : 按照每千字節(jié)輸出日志, 需要 -f 參數(shù), 不過這個命令沒有執(zhí)行成功;

--"-n"選項(xiàng) : 設(shè)置日志輸出的最大數(shù)目, 需要 -r 參數(shù), 這個執(zhí)行 感覺 跟 adb logcat 效果一樣;

--"-v"選項(xiàng) : 設(shè)置日志的輸出格式, 注意只能設(shè)置一項(xiàng);

--"-c"選項(xiàng) : 清空所有的日志緩存信息;

--"-d"選項(xiàng) : 將緩存的日志輸出到屏幕上, 并且不會阻塞;

--"-t"選項(xiàng) : 輸出最近的幾行日志, 輸出完退出, 不阻塞;

--"-g"選項(xiàng) : 查看日志緩沖區(qū)信息;

--"-b"選項(xiàng) : 加載一個日志緩沖區(qū), 默認(rèn)是 main, 下面詳解;

--"-B"選項(xiàng) : 以二進(jìn)制形式輸出日志;

輸出指定標(biāo)簽內(nèi)容 :

-- "-s"選項(xiàng) : 設(shè)置默認(rèn)的過濾器, 如 我們想要輸出 "System.out" 標(biāo)簽的信息, 就可以使用adb logcat -s System.out 命令;

adb是什么?

adb的全稱為Android Debug Bridge,就是起到調(diào)試橋的作用。通過adb我們可以在Eclipse中方面通過DDMS來調(diào)試Android程序,說白了就是debug工具。adb的工作方式比較特殊,采用監(jiān)聽Socket TCP 5554等端口的方式讓IDE和Qemu通訊,默認(rèn)情況下adb會daemon相關(guān)的網(wǎng)絡(luò)端口,所以當(dāng)我們運(yùn)行Eclipse時adb進(jìn)程就會自動運(yùn)行。

adb有什么用?

借助adb工具,我們可以管理設(shè)備或手機(jī)模擬器的狀態(tài)。還可以進(jìn)行很多手機(jī)操作,如安裝軟件、系統(tǒng)升級、運(yùn)行shell命令等等。其實(shí)簡而言說,adb就是連接Android手機(jī)與PC端的橋梁,可以讓用戶在電腦上對手機(jī)進(jìn)行全面的操作

啟動/停止 Server

一般來說,下面兩個命令基本不會用到,因?yàn)橹灰O(shè)備連接正確,會自動啟動 adb server 的,不過大家也需要知道這倆命令:

1.啟動 adb server :

adb start-server

2.停止 adb server :

adb kill-server

3. 安裝 adb install [-l][-r] [-s] <file>
('-l' means forward-lock the app) #鎖定該程序
('-r' means reinstall the app, keeping its data) #重新安裝該程序,保存數(shù)據(jù)
('-s' means install on SD card instead of internal storage) #安裝在SD卡內(nèi),而不是設(shè)備內(nèi)部存儲
4.直接卸載:

adb uninstall <package>

// 如:adb uninstall com.stormzhang.demo
卸載 app 但保留數(shù)據(jù)和緩存文件:

adb uninstall -k com.stormzhang.demo

5.獲取 MAC 地址

$adb shell cat /sys/class/net/wlan0/address

bc:f5:ac:f9:f7:c8

6.重啟

adb reboot

7.獲取序列號

$adb get-serialno

02ae0c1021089daf

8.獲取 MAC 地址

$adb shell cat /sys/class/net/wlan0/address

bc:f5:ac:f9:f7:c8

9.查看設(shè)備型號

$adb shell getprop ro.product.model

Nexus 5

10.查看 Android 系統(tǒng)版本

$adb shell getprop ro.build.version.release

7.0.1

11.查看屏幕分辨率

$adb shell wm size

Physical size: 1080×1920

12.查看屏幕密度

$adb shell wm density

Physical density: 480
關(guān)于 ADB 的命令有太多,以上只列了一些我比較常用的命令,關(guān)于更多的命令可以見這里:

https://github.com/mzlogin/awesome-adb

13. 顯示系統(tǒng)中全部Android平臺:

? android list targets

14. 顯示系統(tǒng)中全部AVD(模擬器):

? android list avd

15. 創(chuàng)建AVD(模擬器):

? android create avd --name 名稱 --target 平臺編號

16. 啟動模擬器:

? emulator -avd 名稱 -sdcard ~/名稱.img (-skin 1280x800)

17. 刪除AVD(模擬器):

? android delete avd --name 名稱

18. 創(chuàng)建SDCard:

? mksdcard 1024M ~/名稱.img

19. AVD(模擬器)所在位置:

? Linux(~/.android/avd) Windows(C:\Documents and Settings\Administrator.android\avd)

20. 啟動DDMS:

? ddms

21. 顯示當(dāng)前運(yùn)行的全部模擬器:

? adb devices

22. 對某一模擬器執(zhí)行命令:

? abd -s 模擬器編號 命令

23. 安裝應(yīng)用程序:

? adb install -r 應(yīng)用程序.apk

24. 獲取模擬器中的文件:

? adb pull <remote> <local>

25. 向模擬器中寫文件:

? adb push <local> <remote>

26. 進(jìn)入模擬器的shell模式:

? adb shell

27. 啟動SDK,文檔,實(shí)例下載管理器:

? android

28. 缷載apk包:

? adb shell

? cd data/app

? rm apk包

? exit

? adb uninstall apk包的主包名

? adb install -r apk包

29. 查看adb命令幫助信息:

? adb help

30. 在命令行中查看LOG信息:

? adb logcat -s 標(biāo)簽名

31. adb shell后面跟的命令主要來自:

? 源碼\system\core\toolbox目錄和源碼\frameworks\base\cmds目錄。

32. 刪除系統(tǒng)應(yīng)用:

? adb remount (重新掛載系統(tǒng)分區(qū),使系統(tǒng)分區(qū)重新可寫)。

? adb shell

? cd system/app

? rm *.apk

33. 獲取管理員權(quán)限:

? adb root

34. 啟動Activity:

? adb shell am start -n 包名/包名+類名(-n 類名,-a action,-d date,-m MIME-TYPE,-c category,-e 擴(kuò)展數(shù)據(jù),等)。

35、發(fā)布端口:

? 你可以設(shè)置任意的端口號,做為主機(jī)向模擬器或設(shè)備的請求端口。如:
adb forward tcp:5555 tcp:8000

36、復(fù)制文件:

? 你可向一個設(shè)備或從一個設(shè)備中復(fù)制文件,
? 復(fù)制一個文件或目錄到設(shè)備或模擬器上:
adb push <source> <destination></destination></source>
? 如:adb push test.txt /tmp/test.txt
? 從設(shè)備或模擬器上復(fù)制一個文件或目錄:
? adb pull <source> <destination></destination></source>
? 如:adb pull /addroid/lib/libwebcore.so .

37、搜索模擬器/設(shè)備的實(shí)例:

? 取得當(dāng)前運(yùn)行的模擬器/設(shè)備的實(shí)例的列表及每個實(shí)例的狀態(tài):
? adb devices

38、查看bug報(bào)告:

adb bugreport

39、記錄無線通訊日志:

? 一般來說,無線通訊的日志非常多,在運(yùn)行時沒必要去記錄,但我們還是可以通過命令,設(shè)置記錄:
? adb shell
? logcat -b radio

40、獲取設(shè)備的ID和序列號:

? adb get-product
? adb get-serialno

41、訪問數(shù)據(jù)庫SQLite3

? adb shell
? sqlite3

【操作命令】

  1. 查看設(shè)備

adb devices

這個命令是查看當(dāng)前連接的設(shè)備, 連接到計(jì)算機(jī)的android設(shè)備或者模擬器將會列出顯示

!Android系列教程(六) adb操作命令詳解](http://cimg2.163.com/catchimg/20091105/9033955_2.png)

2.安裝軟件
adb install

adb install <apk文件路徑> :這個命令將指定的apk文件安裝到設(shè)備上

Android系列教程(六) adb操作命令詳解
  1. 卸載軟件
    adb uninstall <軟件名>
    adb uninstall -k <軟件名>
    如果加 -k 參數(shù),為卸載軟件但是保留配置和緩存文件.

  2. 進(jìn)入設(shè)備或模擬器的shell:
    adb shell

通過上面的命令,就可以進(jìn)入設(shè)備或模擬器的shell環(huán)境中,在這個Linux Shell中,你可以執(zhí)行各種Linux的命令,另外如果只想執(zhí)行一條shell命令,可以采用以下的方式:
adb shell [command]
如:adb shell dmesg會打印出內(nèi)核的調(diào)試信息。

  1. 發(fā)布端口

可以設(shè)置任意的端口號,做為主機(jī)向模擬器或設(shè)備的請求端口。如:
adb forward tcp:5555 tcp:8000

  1. 從電腦上發(fā)送文件到設(shè)備
    adb push <本地路徑> <遠(yuǎn)程路徑>
    用push命令可以把本機(jī)電腦上的文件或者文件夾復(fù)制到設(shè)備(手機(jī))

  2. 從設(shè)備上下載文件到電腦
    adb pull <遠(yuǎn)程路徑> <本地路徑>
    用pull命令可以把設(shè)備(手機(jī))上的文件或者文件夾復(fù)制到本機(jī)電腦

8、查看bug報(bào)告
adb bugreport

9、記錄無線通訊日志
一般來說,無線通訊的日志非常多,在運(yùn)行時沒必要去記錄,但我們還是可以通過命令,設(shè)置記錄:
adb shell
logcat -b radio

10、獲取設(shè)備的ID和序列號
adb get-product
adb get-serialno
adb shell

sqlite3

Android系列教程(六) adb操作命令詳解
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容