adb下載安裝及使用教程
- 一、ADB的介紹
- 1.ADB是什么?
- 2.內容簡介
- 3.ADB常用命令
- 1. ADB查看設備
- 2. ADB安裝軟件
- 3. ADB卸載軟件
- 4. ADB登錄設備shell
- 5. ADB從電腦上發送文件到設備
- 6. ADB從設備上下載文件到電腦
- 7. ADB顯示幫助信息
- 4.為什么要用ADB
- 二、ADB的下載
- 1.Windows版本ADB的下載
- 2.Mac版本ADB的下載
- 3.Linux版本ADB的下載
- 三、ADB的安裝
- 1.配置環境變量
- 2.配置環境變量
- 3.連接
- 4.電腦打開cmd窗口
- 四、ADB的使用
- 1.基本命令
- 2.權限命令
- 3.建立連接
- 4.apk 操作指令
- 5.文件操作指令
- 6.日志操作指令
- 7.系統操作指令
一、ADB的介紹
1.ADB是什么?
Android調試橋
ADB的全稱為Android Debug Bridge,就是起到調試橋的作用。通過adb可以在Eclipse中通過DDMS來調試Android程序,說白了就是調試工具。
2.內容簡介
ADB的工作方式比較特殊,采用監聽Socket TCP 5554等端口的方式讓IDE和Qemu通訊,默認情況下ADB會daemon相關的網絡端口,所以當我們運行Eclipse時adb進程就會自動運行。
ADB是android sdk里的一個工具, 用這個工具可以直接操作管理android模擬器或者真實的android設備(如G1手機). 它的主要功能有:
- 運行設備的shell(命令行)
- 管理模擬器或設備的端口映射
- 計算機和設備之間上傳/下載文件
- 將本地apk軟件安裝至模擬器或android設備
ADB是一個 客戶端-服務器端 程序, 其中客戶端是你用來操作的電腦, 服務器端是android設備.
3.ADB常用命令
1. ADB查看設備
*adbdevices
這個命令是查看當前連接的設備, 連接到計算機的android設備或者模擬器將會列出顯示
2. ADB安裝軟件
*adbinstall <apk文件路徑>
這個命令將指定的apk文件安裝到設備上
3. ADB卸載軟件
*adbuninstall <軟件名>
*adbuninstall -k <軟件名>
如果加 -k 參數,為卸載軟件但是保留配置和緩存文件.
4. ADB登錄設備shell
*adbshell
*adbshell <command命令>
這個命令將登錄設備的shell.
后面加<command命令>將是直接運行設備命令, 相當于執行遠程命令
5. ADB從電腦上發送文件到設備
*adbpush <本地路徑> <遠程路徑>
用push命令可以把本機電腦上的文件或者文件夾復制到設備(手機)
6. ADB從設備上下載文件到電腦
*adbpull <遠程路徑> <本地路徑>
用pull命令可以把設備(手機)上的文件或者文件夾復制到本機電腦
7. ADB顯示幫助信息
*adbhelp
這個命令將顯示幫助信息
4.為什么要用ADB
ADB是連接 Android 手機與 PC 端的橋梁,所以ADB又稱為安卓調試橋,可以讓用戶在電腦上對手機進行全面的操作!
比如:運行設備的 shell(命令行);管理模擬器或設備的端口映射;計算機和設備之間上傳/下載文件;可以對設備的應用進行卸載安裝等;在 App 遇到 ANR/Crash 等 bug 時,可以通過 ADB 來抓取日志等
二、ADB的下載
1.Windows版本ADB的下載
Windows版本
https://dl.google.com/android/repository/platform-tools-latest-windows.zip
2.Mac版本ADB的下載
Mac版本
https://dl.google.com/android/repository/platform-tools-latest-mac.zip
3.Linux版本ADB的下載
Linux版本
https://dl.google.com/android/repository/platform-tools-latest-linux.zip
三、ADB的安裝
1.配置環境變量
解壓安裝后,把解壓路徑放到系統變量里去(Path),
2.配置環境變量
3.連接
可以通過模擬器連接,也可以通過數據線連接。
通過數據線連接時,手機進入“開發者選項”,打開“usb調試”。
不同品牌安卓機型,首次打開“開發者選項”方式不一樣,大多是雙擊手機版本號3~5次,會toast提醒“開發者模式已打開”,具體打開方式可根據手機品牌進行百度查詢
4.電腦打開cmd窗口
輸入 adb version :顯示 adb 版本,說明安裝成功
四、ADB的使用
1.基本命令
adb version :顯示 adb 版本
adb help:幫助信息,查看adb所支持的所有命令
adb devices:查看當前連接的設備,已連接的設備會顯示出來
adb get-serialno:也可以查看設備號
2.權限命令
adb root:獲取Android管理員(root用戶)的權限。
注意:一般測試機可使用root權限。
Android版本9以上,不支持商用機使用root權限,但可以修改底層一些配置
adb shell:登錄設備 shell,該命令將登錄設備的shell(內核),登錄shell后,可以使用 cd,ls,rm 等Linux命令
adb remount:獲取System分區可寫權限,需要root后才能有這個權限
3.建立連接
adb -d:如果同時連了usb,又開了模擬器,連接當前唯一通過usb連接的安卓設備
adb -e shell:指定當前連接此電腦的唯一的一個模擬器
adb -s <設備號> shell:當電腦插多臺手機或模擬器時,指定一個設備號進行連接
exit:退出
adb kill-server:殺死當前adb服務,如果連不上設備時,殺掉重啟。(沒事不要用它)
adb start-server:殺掉后重啟
5037:adb默認端口,如果該端口被占用,可以指定一個端口號,如下命令↓
adb -p 6666 start-server:任意指定一個 adb shell 的端口
4.apk 操作指令
adb shell pm list packages:列出當前設備/手機,所有的包名
adb shell pm list packages -f:顯示包和包相關聯的文件(安裝路徑)
adb shell pm list packages -d:顯示禁用的包名
adb shell pm list packages -e:顯示當前啟用的包名
adb shell pm list packages -s:顯示系統應用包名
adb shell pm list packages -3:顯示已安裝第三方的包名
adb shell pm list packages xxxx:加需要過濾的包名,如:xxx = taobao
adb install <文件路徑\apk>:將本地的apk軟件安裝到設備(手機)上。如手機外部安裝需要密碼,記得手機輸入密碼。
adb install -r <文件路徑\apk>:覆蓋安裝
adb install -d <文件路徑\apk>:允許降級覆蓋安裝
adb install -g <文件路徑\apk>:授權/獲取權限,安裝軟件時把所有權限都打開
adb uninstall <包名>:卸載該軟件/app。
注意:安裝時安裝的是apk,卸載時是包名,可以通過 adb shell pm list packages 查看需要卸載的包名。
adb shell pm uninstall -k <包名>:雖然把此應用卸載,但仍保存此應用的數據和緩存
adb shell am force-stop <包名>:強制退出該應用/app
5.文件操作指令
adb push <本地路徑\文件或文件夾> <手機端路徑>:把本地(pc機)的文件或文件夾復制到設備(手機)
注意點1:pc機路徑與Android機路徑,分隔符是不同的。
注意點2:復制失敗,大概率是無權限。可先使用上面介紹過的兩個命令:adb root;adb remount。在使用 adb push 命令
**adb pull <手機端路徑/文件或文件夾> <pc機路徑>:把設備(手機)的文件或文件夾復制到本地。**注意點同上
6.日志操作指令
adb shell logcat -c:清理現有日志
adb shell logcat -v time :輸出日志,信息輸出在控制臺
adb shell logcat -v time > <存放路徑\log.txt>:輸出日志并保存在本地文件
Ctrl+C:終止日志抓取
adb shell logcat -v time *:E > <存放路徑\log.txt>:打印級別為Error的信息
日志的等級:
-v:Verbse(明細)
-d:Debug(調試)
-i:Info(信息)
-w:Warn(警告)
-e:Error(錯誤)
-f:Fatal(嚴重錯誤)
抓取日志的步驟先輸入命令啟動日志,然后操作 App,復現 bug,再 ctrl+c 停止日志,分析本地保存的文件。
:日志是記錄手機系統在運行app時有什么異常的事件
EXCEPTION
也可以把更詳細得Anr日志拉取出來:adb shell pull /data/anr/traces.txt <存放路徑>
7.系統操作指令
adb shell getprop ro.product.model:獲取設備型號
adb shell getprop ro.build.version.release:獲取Android系統版本
adb get-serialno:獲取設備的序列號(設備號)
adb shell wm size:獲取設備屏幕分辨率
adb shell screencap -p /sdcard/mms.png:屏幕截圖
adb shell screencap -p /sdcard/screenshot.png:屏幕截圖
adb pull /sdcard/mms.png <存放的路徑>:將截圖導出到本地
adb pull /sdcard/screenshot.png <存放的路徑>:將截圖導出到本地
adb shell dumpsys activity |find “mResumedActivity”:查看前臺應用包名,必須先啟動app,適用于Android 8.0以上
adb shell cat /proc/meminfo:獲取手機內存信息
adb shell df:獲取手機存儲信息
**adb shell screenrecord <存放路徑/xxx.mp4>:錄屏,命名以.mp4結尾
adb shell screenrecord --time-limit 10 <存放路徑/xxx.mp4>:錄屏時間為10秒