Android 調(diào)試橋(ADB)

一. ADB概念

1. 什么是ADB?

ADB全稱Android Debug Bridge(安卓調(diào)試橋),在PC端安裝ADB并且配置好ADB環(huán)境變量.就可以通過(guò)DOS命令行窗口輸入命令的方式來(lái)對(duì)Android設(shè)備進(jìn)行
調(diào)試.

2. ADB的作用?

ADB的主要左右有兩大類,一類是直接對(duì)Android進(jìn)行調(diào)試.二類是通過(guò)adb shell進(jìn)入到shell模式以后用linux命令行
對(duì)設(shè)備進(jìn)行操作.

  1. 對(duì)應(yīng)用進(jìn)行調(diào)試.

    • 安裝卸載應(yīng)用.
    • 將文件從pc推到Android設(shè)備中,從Android設(shè)備中拉取圖片.
    • 獲取截圖,錄屏,獲取正在顯示的Activity等功能.
  2. 安卓系統(tǒng)是基于Linux系統(tǒng)開(kāi)發(fā),也就支持常見(jiàn)的Linux的命令.通過(guò)adb shell來(lái)執(zhí)行這些命令.

二. adb的環(huán)境配置(Win10版).

為了ADB能夠在PC端全局任意位置使用DOS命令行進(jìn)行操作,首先要在PC端配置環(huán)境變量.

1.下載ADB文件到PC

ADB And Fastboot for Windows

2.配置環(huán)境變量.

在win10中依次打開(kāi)我的電腦->屬性->高級(jí)系統(tǒng)設(shè)置->環(huán)境變量->Path

配置完成以后打開(kāi)DOS命令行.輸入adb version如果能看到ADB的版本則說(shuō)明ADB安裝成功了.

Android Debug Bridge version 1.0.41
Version 30.0.5-6877874
Installed as C:\sdk\platform-tools\adb.exe

三.ADB連接Android設(shè)備

1.準(zhǔn)備工作:

  • 一臺(tái)Android設(shè)備.
  • 數(shù)據(jù)線(最好是原裝的,部分奸商賣的的數(shù)據(jù)線只能充電,要注意).
  • 打開(kāi)Android設(shè)備的開(kāi)發(fā)者選項(xiàng).勾選usb調(diào)試.

2.通過(guò)手機(jī)數(shù)據(jù)線進(jìn)行連接.

手機(jī)通過(guò)數(shù)據(jù)線連接電腦.如果沒(méi)有驅(qū)動(dòng)可以下載驅(qū)動(dòng)精靈,驅(qū)動(dòng)精靈,或者豌豆莢安裝好驅(qū)動(dòng).
啟動(dòng)ADB:

adb start-server

如果出現(xiàn)如下內(nèi)容則說(shuō)明ADB被正常啟動(dòng)了:

* daemon not running; starting now at tcp:5037
* daemon started successfully

3.解決端口被占用的問(wèn)題

如果在win10啟動(dòng)ADB有時(shí)候會(huì)提示5037端口被占用,導(dǎo)致啟動(dòng)失敗。提示如下:

* daemon not running. starting it now on port 5037 *
ADB server didn't ACK 
* failed to start daemon *daemon

目前有兩種方案解決該問(wèn)題:一是將占用ADB端口的應(yīng)用殺死.二則是修改ADB的端口(推薦).

方式一
  • 查看當(dāng)前哪個(gè)進(jìn)程占用了這個(gè)端口
    netstat -ano | findstr "5037"
    
  • 殺掉占用的進(jìn)程即可
    taskkill /f /pid xxx
    
方式二

系統(tǒng)環(huán)境變量中定義 ANDROID_ADB_SERVER_PORT 的值即可。數(shù)值盡量選擇一個(gè)不常用的端口,如11223等
右鍵計(jì)算機(jī) -> 屬性 ->高級(jí)計(jì)算機(jī)設(shè)置 ->環(huán)境變量 ->新建 ->變量名:ANDROID_ADB_SERVER_PORT ->值:11223(任意)
重啟ADB即可.

4.ADB通過(guò)wifi連接Android設(shè)備.

  1. Android設(shè)備和Pc必須處于同一個(gè)內(nèi)網(wǎng)中.
  2. 通過(guò)數(shù)據(jù)線連接Android設(shè)備,ADB打開(kāi)5555端口:
    adb tcpip 5555  //restarting in TCP mode port: 5555
    
  3. 連接Android設(shè)備在內(nèi)網(wǎng)中的地址:
    adb connect 192.168.1.104
    

四. ADB常用指令.

adb start_server 啟動(dòng)ADB服務(wù)

adb kill-server 關(guān)閉ADB服務(wù)

adb devices //列出所有的連接設(shè)備

adb install xxx.apk //安裝apk 一共有l(wèi)rtsdg六個(gè)選項(xiàng)

  • -l 鎖定該應(yīng)用程序
  • -r 替換已存在的應(yīng)用程序,也就是說(shuō)強(qiáng)制安裝
  • -t 允許測(cè)試包
  • -s 把應(yīng)用程序安裝到sd卡上
  • -d 允許進(jìn)行將見(jiàn)狀,也就是安裝的比手機(jī)上帶的版本低
  • -g 為應(yīng)用程序授予所有運(yùn)行時(shí)的權(quán)限

adb install -r xxx.apk//強(qiáng)制安裝apk

adb -s 設(shè)備1 install -r xxx.apk// 選擇設(shè)備進(jìn)行安裝

adb shell pm list packages//列出所有的安裝的包名

adb shell pm path com.android.search// 列出指定包名對(duì)應(yīng)的apk路徑

adb shell pm clear com.android.search// 清空指定包名對(duì)應(yīng)的應(yīng)用的數(shù)據(jù)和緩存文件,開(kāi)發(fā)時(shí)很有用

adb shell dumpsys window w |findstr \/ |findstr name=//查看前臺(tái)進(jìn)程和前臺(tái)activity

adb shell ps//列出設(shè)備里面所有的進(jìn)程

adb shell ps |findstr baidu//查看包含關(guān)鍵字的進(jìn)程,如baidu

adb shell service list//查看Service列表

adb shell top列出進(jìn)程的信息

  • -d 表示刷新的時(shí)間(單位秒).
  • -m 表示顯示進(jìn)程最大數(shù).
  • |grep (進(jìn)程名稱) 抓取進(jìn)程名的進(jìn)程顯示它的子線程情況
  • -p pid 顯示某個(gè)進(jìn)程的信息.如果是多個(gè)進(jìn)程都好分割:pid1,pid2,pid3

參考:
Google官方文檔之ADB

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

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

  • ADB,即 Android Debug Bridge,它是 Android 開(kāi)發(fā)/測(cè)試人員不可替代的強(qiáng)大工具,也是...
    悶騷的程序員閱讀 7,297評(píng)論 2 22
  • 福利大放送 這是對(duì)好多adb命令行的總結(jié),很實(shí)用,有些東西知道了之后就會(huì)特別酷炫: 內(nèi)容 指定目標(biāo)設(shè)備: 如果只有...
    Only凹凸曼閱讀 2,758評(píng)論 1 6
  • 本文章轉(zhuǎn)載于搜狗測(cè)試 基本用法 命令語(yǔ)法 為命令指定目標(biāo)設(shè)備 啟動(dòng)/停止 查看 adb 版本 以 root 權(quán)限運(yùn)...
    夜境閱讀 3,290評(píng)論 0 3
  • ADB全稱Android Debug Bridge,Android 開(kāi)發(fā)中, 我們?cè)陂_(kāi)發(fā)過(guò)程中經(jīng)常使用這個(gè)工具來(lái)操...
    DreamFish閱讀 2,702評(píng)論 2 5
  • 對(duì)于Android開(kāi)發(fā)來(lái)說(shuō) ,我感覺(jué)ADB即熟悉又陌生。熟悉是因?yàn)榻?jīng)常聽(tīng)說(shuō)過(guò),并且時(shí)不時(shí)會(huì)用到一兩條簡(jiǎn)單的命令;陌...
    graychen閱讀 2,107評(píng)論 0 0

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