一共須要三步便可。android
1. step1 Enable 開發者模式 2. step2 Enable USB Debug模式 3. step3 使用數據線鏈接手機和PC
- adb devices (查詢鏈接到當前PC的Android設備) - adb install xxx.apk(進入安裝包的目錄,安裝軟件) - adb uninstall $package_name(進入安裝包的目錄,卸載軟件) - install和uninstall還有其餘參數。 - adb install -r xxx.apk - adb uninstall -k $package_name 在安裝時,加上【-r】,若是已經安裝了該軟件,那麼系統就會先卸載,在安裝這個軟件 在卸載時,加上【-k】,表示卸載時保留數據和緩衝區目錄,只卸載應用程序 安裝pos機的例子: 一、adb devices -查看鏈接狀態 二、adb connect xx.xx.xx.xx:5555 三、adb install /Users/fengyanhua/Downloads/app-debug.apk 四、adb disconnect xx.xx.xx.xx:5555 -斷開鏈接 查詢POS機的日誌: 五、adb -s xx.xx.xx.xx logcat
1. - step1 打開軟件置於頂層 2. - step1 點擊UIAutomatorviewer的Device Screenshot按鈕 3. - step1 查看右下方的package值
adb pull remote_files local_dir 把手機上的文件拷貝到本地 adb push local_dir remote_files 把PC上的文件,發送到已經鏈接的Android手機上 參數含義: remote_files: 手機端的目錄或者文件路徑 local_dir:本地文件的路徑 e.g: adb pull /sdcard/DICM/camera ~/Desktop/ 把手機上的某個目錄所有都拷貝到PC本地上 adb push ~/Desktop/test.txt /data/local/tmp/ 把PC本地的文件傳輸到手機的/data/local/tmp/目錄
adb version: 查看adb版本信息 adb remount: 對其設備讀寫進行初始化 adb kill-server: 幹掉ADB進程 adb start-server:啓動ADB進程 adb root:對於已經root過的手機,加載ROOT權限 adb reboot: 重啓設備 adb wait-for-device:等待設備上線 adb -d serial number: 當有多臺設備鏈接時,指定某一設備 adb connect <ip>: 經過網絡使PC鏈接設備
- adb logcat - adb logcat -c 清理logcat的緩衝區 adb的日誌所有都會緩存在系統的緩衝區,當咱們須要對系統或者App進行Debug的時候,咱們先清理一下以前緩衝區的無效log,這樣能夠清除一些無效的日誌信息。 - adb logcat -v time *:e |grep $package_name 查看指定App的錯誤信息 如:adb logcat -v time *:e |grep com.koudai.weidian.buyer.internal 運行這個命令後,再操做App,咱們能夠經過終端的輸出來獲取到App在執行過程當中遇到的全部Error信息。
1. bugreport裏面包含了各類log信息,大部分log也能夠經過直接運行相關的程序來直接得到 bugreport記錄android啓動過程的log,以及啓動後的系統狀態,包括進程列表,內存信息,VM信息等等 2. Java Exception 在mian log中分析,須要注意exception的時間PID和棧 3. ANR 在log中查看system log 找到ANR關鍵字
正常狀況,若是Monkey測試順利執行完成,在log的最後會打印出當前執行事件的次數和所花費的時間;// Monkey finished 表明執行完成 異常狀況: 查閱Monkey的輸出日誌 1. 程序無響應的問題: 在日誌中搜索 「ANR」 2. 崩潰問題:在日誌中搜索 「Exception」 3. 若是有空指針,搜索「NullPointerException」 4. 若是Monkey執行中斷,在log最後也能看到當前執行次數
實時打印的有:logcat main,logcat radio,logcat events,tcp dump,高通平臺的還有QXDM日誌 狀態信息的有:adb shell cat /proc/kmsg,adb shell dmesg,adb shell dumpstate,adb shell dumpsys,adb bugreport,工程模式等。
adb shell pm list packages eg: 買家版: (com.koudai.weidian.buyer.internal) adb shell pm list packages|grep com.koudai
input命令能夠用於向鍵盤發送一些指令。shell
經常使用命令分析:緩存
* adb shell input text test //讓鍵盤輸入test,經測試不能支持輸入中文 好比輸入0,就可使用: adb shell input keyevent KEYCODE_0 或 adb shell input keyevent 7 * adb shell input tap 200 300 //在屏幕座標(200,300)位置點擊一下 * adb shell input swipe 200 200 1000 1000 //就是從屏幕(200,200)滑動到(1000,1000); //在小的距離內,從(200,200)的位置滑動到(201,201)的位置,連續滑動2000毫秒,頁面表現爲長按的效果 * adb shell input swipe 200 200 201 201 2000 tip:機子要求是安卓4.4以上 如何定位屏幕的座標呢? 其實在手機開發者選項,開啓指針位置功能,就能夠實時定位屏幕座標了
* am 這個命令能夠幫助咱們直接啓動activity、service及廣播 * am start 啓動應用 格式: adb shell am start 包名/.類名 或 adb shell am start 包名/類的全名 後面跟的參數的意思分別是: 參數名 解釋 -a 傳入動做 -n 傳入組件(package) -t 傳入類型 -d 傳入數據 1.撥打一個電話: am start -a android.intent.action.CALL -d tel:10086 2.打開一個網頁: am start -a android.intent.action.VIEW -d http://www.baidu.com 3.打開音樂播放器: adb shell am start -n com.android.bbkmusic/.WidgetToTrackActivity 4.啓動一個服務: am startservice <服務名稱> 例如:am startservice -n com.android.music/com.android.music.MediaPlaybackService 或者 am startservice -a com.smz.myservice 5.發送一個廣播: am broadcast -a <廣播動做> 例如: am broadcast -a com.smz.mybroadcast 6.adb shell am monitor 監控 crash 與 ANR 7.am force-stop , 後跟包名,結束應用 值得注意的是,不一樣手機的相同類型應用,如相機,由於他們的package均可能是不同的,因此要把package提取出來,再抽離爲公共的方法。
pm(Package Manager),這個命令主要用於獲取和安裝在 Android 設備上的應用信息。網絡
■ pm list 安裝包名查詢 ■ adb shell pm list package 列出全部應用 ■ adb shell pm list package -3 列出第三方應用 ■ adb shell pm list instrumentation 列出全部測試包 ■ pm install 安裝應用 ■ pm unitall 卸載應用 ■ pm clear 清除應用緩存
-p 容許的包名列表,可同時指定多個包名,每一個包都須要使用「-p」參數指定。指定多個包: adb shell monkey -p package_1 –p package_2 100 --ignore-crashes 忽視應用 crash 報錯,不指定該參數時,應用出現 crash,monkey 會自動中止發送事件,指定該參數後,monkey 會在 crash 後也一直髮送事件,直到全部事件發送完成。 --ignore-timeouts 忽視超時致使的錯誤,即ANR的錯誤
a)能夠經過PC機CMD窗口中執行: adb shell monkey {+命令參數}來進行Monkey測試 b)在PC上adb shell 進入Android系統,經過執行 monkey {+命令參數} 來進行Monkey 測試 c) 在Android機或者模擬器上直接執行monkey 命令,能夠在Android機上安裝Android終端模擬器
Dumpsys用戶系統診斷,它運行在設備上,並提供系統服務狀態信息 adb shell dumpsys meminfo //內存 adb shell dumpsys meminfo com.koudai.weidian.buyer.internal adb shell dumpsys cpuinfo //CPU adb shell dumpsys gfxinfo //幀率 adb shell dumpsys display //顯示 adb shell dumpsys power //電源 adb shell dumpsys batterystats //電池