adb安裝及使用mac版

一、什么是adb

adb(Android Debug Bridge) 意為android調試橋,作用:遠程訪問Android設備(連接PC和Android)

ADB是一個C/S架構的應用程序,由三部分組成:

adb client, 運行在PC上(為DDMS,即IDE工作)

adb daemon(守護進程), 運行于Emulator(為與Emulator中的VM交互工作);

adb server(服務進程), 運行在PC(任務管理器上有),管理著adb client和adb daemon的通信。

adb連接邏輯:

二、安裝及使用

Android platform-tools下載(參考):http://tools.android-studio.org/index.php/sdk;

配置環(huán)境變量:

打開終端Terminal,進入根目錄(cd ~/);

在終端中輸入vim ~/.bash_profile ,打開 .bash_profile文件。按 i 進入輸入模式,在文件內容的末尾加入以下內容:

export PATH=${PATH}:/Users/xxx/Library/Android/sdk/platform-tools

export PATH=${PATH}:/Users/xxx/Library/Android/sdk/tools

這里面的xxx根據(jù)自己實際的用戶名稱進行修改

點擊 esc ,輸入 :wq ?回車(保存并退出文本);

添加完成后輸入:source ~/.bash_profile 更新配置的環(huán)境變量;

驗證:輸入adb version ,輸出Android Debug Bridge version,配置成功;

三、adb常用命令

1、包安裝:adb install?

adb install .apk路徑 / adb -r install .apk路徑 / adb uninstall 包名

2、文件傳輸:adb pull/push

? ?拉:adb pull <設備里的文件路徑> [電腦上的目錄]

? ?推:adb push 電腦上文件 /sdcard

3、WiFi連接:adb connect/disconnect

? ?adb tcpip 5555

? ?adb connect xx.xx.xx.xx:5555

? ?adb disconnect xx.xx.xx.xx:5555

4、日志打?。篴db logcat

? ?抓崩潰:adb logcat | grep AndroidRuntime ??

5、activity管理:adb shell am (activity manager)

? ? 啟動APP:adb shell am start -W -n 包名/啟動Activity

? ? 關閉APP:adb shell am force-stop 包名

6、包管理:adb shell pm(package manager)

? ? 清理環(huán)境:adb shell pm clear 包名

? ? 三方包名:adb shell pm list packages -3?

7、截圖錄屏:adb shell screencap / ?adb shell screenrecord

? ?截圖:adb shell screencap -p /sdcard/test.png?

? ?錄屏:adb shell screenrecord /sdcard/test.mp4

8、系統(tǒng)信息:adb shell dumpsys

? ?1)活動:adb shell dumpsys activity

? ?查看頁面活動:adb shell dumpsys activity activities | grep mResumedActivity

? ?2)電池:adb shell dumpsys battery

? ?模擬低電量:adb shell dumpsys battery set level 1

? ? ? ? ?復位:adb shell dumpsys battery reset

? ?3)內存:adb shell dumpsys meminfo

? ?查看app內存使用:adb shell dumpsys meminfo 包名 ?

? ?4)CPU: adb shell dumpsys cpuinfo?

? ?查看appCPU使用:adb shell dumpsys cpuinfo 包名 ?

? ?5) FPS:adb shell dumpsys gfxinfo

? ?查看app流暢度:adb shell dumpsys gfxinfo 包名

9、adb shell wm

? ?1)分辨率:adb shell wm size

? ? 模擬分辨率:adb shell wm size 480x1024

? ? ? ? ? ?復位:adb shell wm size reset

? ?2)密度:adb shell wm density

? ? 模擬密度:adb shell wm density 800

? ? ? ? ? ?復位:adb shell wm size reset

?10、adb shell input?

? ?1)adb shell input keyevent

? ? 按home鍵:adb shell input keyevent 3?

? ?2)adb shell input text

? ? 輸入12345文本:adb shell input text 12345

? ?3)adb shell input tap?

? ? 點擊位置(20,1000):adb shell input tap 20 1000

? ?4)adb shell input swipe

? ? 從(10,20)滑動到(100,200):adb shell input swipe 10 20 100 200

others:

查看設備:adb devices 查看所有連接到電腦上的Android設備

安裝軟件:adb install app包名 ?(adb install -r app包名 ? ?| ? -r:覆蓋安裝)

查看包信息:adb shell dumpsys package XXX? ? ? 查看某個包的具體信息(前提是需要知道包名是什么)? ? ?

查看當前正在運行的Activity:adb logcat | grep ActivityManager? ? ? ?adb logcat | grep Displayed? ?? ? ? ? ? ? ? ??

查看包名的方式:

adb shell pm list packages -3 -- 只輸出第三方的包?

adb shell pm list packages -e "daliketang" ?-- ?設置過濾條件,只輸出啟用的包

卸載軟件:adb uninstall app包名(在安裝軟件的時候,可能會出現(xiàn)安裝失敗的情況,如果在之前沒有刪除干凈,或安裝的時候會提示與安裝簽名不同等失敗提示,此時使用uninstall命令可以完全清除之前沒有卸載干凈的app)

將電腦本地文件上傳到android手機(adb push <local> <remote>)

adb push /Users/bytedance/Downloads/qingbei_xiaomi_v1.6.2_d59019f.apk /sdcard

將手機上文件上傳電腦(adb pull <remote> <local>)

adb pull /sdcard/qingbei_xiaomi_v1.6.2_d59019f.apk ~/Downloads

查看日志:adb logcat > ~/Downloads/20200324.log (“>”是重定向的意思,將查到的日志進行輸出;“>”后面的為輸出的絕對路徑)log日志?

抓日志的前提條件:發(fā)現(xiàn)了一個crash/anr

日志級別:

i:infor信息

d:debug調試信息

w:waring警告信息

e:error報錯信息

抓取日志的關注點:

crash:崩潰(日志中搜索crash或exception)

anr:application not response:應用無響(日志中搜索anr)

adb logcat *:e> ~/Downloads/2020.log (*:e:抓取e級別以上的所有信息)

小技巧:測試之前可以提前將手機開發(fā)者選項打開,找到“日志記錄器緩沖區(qū)大小”,每個日志緩沖區(qū)選擇“16M”;(其目的是在測試的過程中,如果出現(xiàn)了不可復現(xiàn)的crash,可以通過抓取日志的方式,獲取到app之前記錄的緩存日志)

monkey測試:也叫穩(wěn)定性測試(穩(wěn)定性測試、壓力測試、隨機測試三種不同的叫法)

monkey:像猴子一樣亂點

目的:測試軟件的穩(wěn)定性,健壯性,壓力

monkey命令:adb shell monkey -p com.edu.android.daliketang -v -v -v -s 16 200000 > ~/Downloads/monkeytest.log

-v:顯示運行時候的日志信息級別(-v -v -v顯示全部日志信息)

-s:種子數(shù),隨機事件數(shù)(兩次命令的執(zhí)行軌跡一樣)

查看日志中是否存在異常情況,如搜索crash、anr等關鍵字 ?(正常結束的Monkey測試,日志的末尾處有finished關鍵字)

停止monkey的方式:

adb shell(登錄設備)

top|grep "monkey" (實時查詢monkey的進程號)

kill -9 11673(-9:強制殺死進程;11673為查詢出來的進程號)

查看內存使用狀況:adb shell dumpsys meminfo com.edu.android.daliketang

adb kill-server:關閉adb

adb start-server:打開adb

四、adb使用過程中常遇問題

mac下無法識別安卓設備:list of devices attached

出現(xiàn)原因:

開發(fā)者選項中沒有開啟usb調試;

可能是Mac沒有將廠商的設備id識別,需手工輸入;

解決方法:

打開終端,輸入system_profiler SPUSBDataType命令,查詢連接usb設備信息;

找到設備供應商id,Vendor ID,并記錄下來;

終端輸入:vim ~/.android/adb_usb.ini,把ID寫入后,保存退出;

重啟adb服務,adb kill-server;

打開adb,adb start-server;

終端輸入adb devices,可以看到你的設備了;

當我們按照日志級別去查詢日志時,會出現(xiàn)zsh:no matches found:*:E

出現(xiàn)原因:

zsh不兼容問題導致;

解決方法:

在終端輸入:vim ~/.zshrc;

在~/.zshrc中加入:setopt no_nomatch,保存并退出;

在終端輸入:source .zshrc命令,更新配置文件;

參考文檔:

http://www.itdecent.cn/p/5697889bd08b

https://www.cnblogs.com/bamanzi/p/zsh-simple-guide.html

http://www.itdecent.cn/p/4d3d23856991

http://www.itdecent.cn/p/d85e95f28338

http://www.itdecent.cn/p/6769bfc3e2da

http://www.itdecent.cn/writer#/notebooks/41473905/notes/57949214

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

相關閱讀更多精彩內容

  • Android Monkey 壓力測試 介紹 什么是Monkey Monkey測試,就像一只猴子,在電腦面前,亂敲...
    木七七姑娘閱讀 2,784評論 1 7
  • 一、什么是adb 1、adb全程為Android debug bridge(安卓調試橋),作用:遠程訪問Andro...
    Jackie_277a閱讀 1,827評論 0 1
  • 一、什么是Monkey 顧名思義,Monkey就是猴子, Monkey測試,就像一只猴子, 在電腦面前,亂敲鍵盤...
    心無旁騖_閱讀 1,192評論 0 2
  • 在平時的工作中,會經(jīng)常用到adb命令,在這里稍微整理了一下。 一.概要 1.什么是adb? adb全稱為Andro...
    堅固的浮沙閱讀 893評論 0 3
  • * 人總愛跟別人比較,看看有誰比自己好,又有誰比不上自己。 而其實,為你的煩惱和憂傷墊底的,從來不是別人的不幸和痛...
    聽雨的清歡閱讀 237評論 0 5

友情鏈接更多精彩內容