Android ADB簡介、安裝及使用詳解
一、ADB簡介
1、什么是adb
ADB 全稱為 Android Debug Bridge,起到調(diào)試橋的作用,是一個(gè)客戶端-服務(wù)器端程序。其中客戶端是用來操作的電腦,服務(wù)端是 Android 設(shè)備。
ADB 也是 Android SDK 中的一個(gè)工具,可以直接操作管理 Android 模擬器或者真實(shí)的 Android 設(shè)備。
2、為什么要用adb
運(yùn)行設(shè)備的 shell(命令行)
管理模擬器或設(shè)備的端口映射
計(jì)算機(jī)和設(shè)備之間上傳/下載文件
可以對(duì)設(shè)備的應(yīng)用進(jìn)行卸載安裝等
在 App 遇到 ANR/Crash 等 bug 時(shí),可以通過 ADB 來抓取日志
簡而言之,ADB 就是連接 Android 手機(jī)與 PC 端的橋梁,所以ADB又稱為安卓調(diào)試橋(注意:是安卓,不是iOS),可以讓用戶在電腦上對(duì)手機(jī)進(jìn)行全面的操作!
二、準(zhǔn)備工具
單獨(dú)安裝adb,不安裝sdk
1、下載adb
Google很好心,直接放出ADB的zip供人下載。路徑如下:
Windows版本:https://dl.google.com/android/repository/platform-tools-latest-windows.zip
Mac版本:https://dl.google.com/android/repository/platform-tools-latest-windows.zip
Linux版本:https://dl.google.com/android/repository/platform-tools-latest-linux.zip
2、配置環(huán)境變量
解壓安裝后,把解壓路徑放到系統(tǒng)變量里去(Path),
環(huán)境變量如何配置,比如我的配置如下圖:
3、連接
可以通過模擬器連接,也可以通過數(shù)據(jù)線連接。
通過數(shù)據(jù)線連接時(shí),手機(jī)進(jìn)入“開發(fā)者選項(xiàng)”,打開“usb調(diào)試”。
不同品牌安卓機(jī)型,首次打開“開發(fā)者選項(xiàng)”方式不一樣,大多是雙擊手機(jī)版本號(hào)3~5次,會(huì)toast提醒“開發(fā)者模式已打開”,具體打開方式可根據(jù)手機(jī)品牌進(jìn)行百度查詢
4、電腦打開cmd窗口
輸入 adb version :顯示 adb 版本,說明安裝成功
三、ADB命令詳解
1、基本命令
adb version :顯示 adb 版本
adb help:幫助信息,查看adb所支持的所有命令
adb devices:查看當(dāng)前連接的設(shè)備,已連接的設(shè)備會(huì)顯示出來
adb get-serialno:也可以查看設(shè)備號(hào)
2、權(quán)限命令
adb root:獲取Android管理員(root用戶)的權(quán)限。
注意:一般測試機(jī)可使用root權(quán)限。
Android版本9以上,不支持商用機(jī)使用root權(quán)限,但可以修改底層一些配置
adb shell:登錄設(shè)備 shell,該命令將登錄設(shè)備的shell(內(nèi)核),登錄shell后,可以使用 cd,ls,rm 等Linux命令
adb remount:獲取System分區(qū)可寫權(quán)限,需要root后才能有這個(gè)權(quán)限
3、建立連接
adb -d:如果同時(shí)連了usb,又開了模擬器,連接當(dāng)前唯一通過usb連接的安卓設(shè)備
adb -e shell:指定當(dāng)前連接此電腦的唯一的一個(gè)模擬器
adb -s <設(shè)備號(hào)> shell:當(dāng)電腦插多臺(tái)手機(jī)或模擬器時(shí),指定一個(gè)設(shè)備號(hào)進(jìn)行連接
exit:退出
adb kill-server:殺死當(dāng)前adb服務(wù),如果連不上設(shè)備時(shí),殺掉重啟。(沒事不要用它)
adb start-server:殺掉后重啟
5037:adb默認(rèn)端口,如果該端口被占用,可以指定一個(gè)端口號(hào),如下命令↓
adb -p 6666 start-server:任意指定一個(gè) adb shell 的端口
4、apk 操作指令
adb shell pm list packages:列出當(dāng)前設(shè)備/手機(jī),所有的包名
adb shell pm list packages -f:顯示包和包相關(guān)聯(lián)的文件(安裝路徑)
adb shell pm list packages -d:顯示禁用的包名
adb shell pm list packages -e:顯示當(dāng)前啟用的包名
adb shell pm list packages -s:顯示系統(tǒng)應(yīng)用包名
adb shell pm list packages -3:顯示已安裝第三方的包名
adb shell pm list packages xxxx:加需要過濾的包名,如:xxx = taobao
adb install <文件路徑\apk>:將本地的apk軟件安裝到設(shè)備(手機(jī))上。如手機(jī)外部安裝需要密碼,記得手機(jī)輸入密碼。
adb install -r <文件路徑\apk>:覆蓋安裝
adb install -d <文件路徑\apk>:允許降級(jí)覆蓋安裝
adb install -g <文件路徑\apk>:授權(quán)/獲取權(quán)限,安裝軟件時(shí)把所有權(quán)限都打開
adb uninstall <包名>:卸載該軟件/app。
注意:安裝時(shí)安裝的是apk,卸載時(shí)是包名,可以通過 adb shell pm list packages 查看需要卸載的包名。
adb shell pm uninstall -k <包名>:雖然把此應(yīng)用卸載,但仍保存此應(yīng)用的數(shù)據(jù)和緩存
adb shell am force-stop <包名>:強(qiáng)制退出該應(yīng)用/app
5、文件操作指令
adb push <本地路徑\文件或文件夾> <手機(jī)端路徑>:把本地(pc機(jī))的文件或文件夾復(fù)制到設(shè)備(手機(jī))
注意點(diǎn)1:pc機(jī)路徑與Android機(jī)路徑,分隔符是不同的。
注意點(diǎn)2:復(fù)制失敗,大概率是無權(quán)限。可先使用上面介紹過的兩個(gè)命令:adb root;adb remount。在使用 adb push 命令
adb pull <手機(jī)端路徑/文件或文件夾> <pc機(jī)路徑>:把設(shè)備(手機(jī))的文件或文件夾復(fù)制到本地。注意點(diǎn)同上
6、日志操作指令
adb shell logcat -c:清理現(xiàn)有日志 adb shell logcat -v time :輸出日志,信息輸出在控制臺(tái) adb shell logcat -v time > <存放路徑\log.txt>:輸出日志并保存在本地文件 Ctrl+C:終止日志抓取 adb shell logcat -v time *:E > <存放路徑\log.txt>:打印級(jí)別為Error的信息 日志的等級(jí): -v:Verbse(明細(xì)) -d:Debug(調(diào)試) -i:Info(信息) -w:Warn(警告) -e:Error(錯(cuò)誤) -f:Fatal(嚴(yán)重錯(cuò)誤) 抓取日志的步驟先輸入命令啟動(dòng)日志,然后操作 App,復(fù)現(xiàn) bug,再 ctrl+c 停止日志,分析本地保存的文件。 :日志是記錄手機(jī)系統(tǒng)在運(yùn)行app時(shí)有什么異常的事件 EXCEPTION 也可以把更詳細(xì)得Anr日志拉取出來:adb shell pull /data/anr/traces.txt <存放路徑>
7、系統(tǒng)操作指令
adb shell getprop ro.product.model:獲取設(shè)備型號(hào)
adb shell getprop ro.build.version.release:獲取Android系統(tǒng)版本
adb get-serialno:獲取設(shè)備的序列號(hào)(設(shè)備號(hào))
adb shell wm size:獲取設(shè)備屏幕分辨率
adb shell screencap -p /sdcard/mms.png:屏幕截圖
adb shell screencap -p /sdcard/screenshot.png:屏幕截圖
adb pull /sdcard/mms.png <存放的路徑>:將截圖導(dǎo)出到本地
adb pull /sdcard/screenshot.png <存放的路徑>:將截圖導(dǎo)出到本地
adb shell dumpsys activity |find “mResumedActivity”:查看前臺(tái)應(yīng)用包名,必須先啟動(dòng)app,適用于Android 8.0以上
adb shell cat /proc/meminfo:獲取手機(jī)內(nèi)存信息
adb shell df:獲取手機(jī)存儲(chǔ)信息
adb shell screenrecord <存放路徑/xxx.mp4>:錄屏,命名以.mp4結(jié)尾
adb shell screenrecord --time-limit 10 <存放路徑/xxx.mp4>:錄屏?xí)r間為10秒
到此這篇關(guān)于ADB簡介、安裝及使用詳解的文章就介紹到這了,更多相關(guān)ADB安裝及使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android實(shí)現(xiàn)手勢滑動(dòng)和簡單動(dòng)畫效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)手勢滑動(dòng)和簡單動(dòng)畫效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05詳解flutter之網(wǎng)絡(luò)請(qǐng)求dio,請(qǐng)求,攔截器簡單示例
這篇文章主要介紹了詳解flutter之網(wǎng)絡(luò)請(qǐng)求dio,請(qǐng)求,攔截器簡單示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06Android可簽到日歷控件的實(shí)現(xiàn)方法
這篇文章主要為大家詳細(xì)介紹了Android可簽到日歷控件的實(shí)現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05Android實(shí)現(xiàn)ListView數(shù)據(jù)動(dòng)態(tài)加載的方法
這篇文章主要介紹了Android實(shí)現(xiàn)ListView數(shù)據(jù)動(dòng)態(tài)加載的方法,通過ListView控件綁定setOnScrollListener方法簡單實(shí)現(xiàn)動(dòng)態(tài)加載數(shù)據(jù)的功能,需要的朋友可以參考下2016-01-01創(chuàng)建Android守護(hù)進(jìn)程實(shí)例(底層服務(wù))
這篇文章主要介紹了創(chuàng)建Android守護(hù)進(jìn)程實(shí)例(底層服務(wù)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03Android利用shape實(shí)現(xiàn)各種簡單的形狀
這篇文章主要給大家介紹了關(guān)于Android中利用shape實(shí)現(xiàn)各種簡單的形狀的相關(guān)資料,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。2017-05-05