adb常用命令(1)
- adb -help :查看幫助手冊
2. adb devices :檢測連接到電腦的安卓設備
打開夜神模擬器,之後記得在命令行窗口輸入adb connect 127.0.0.1:62001,回車,可以發現已成功連接上設備(夜神模擬器)
3. adb pull<手機路徑><本機路徑>:從手機拉取信息放到本地電腦
本機路徑容易獲取,但是手機路徑如何獲取呢?可以使用adb shell命令來獲取
之後可以使用ls命令,來列出當前根目錄下的文件和目錄信息。sdcard手機的內部存儲,因此我們主要查看sdcard目錄即可。
那麼如何查看sdcard目錄下的文件信息呢?
可以通過cd sdcard命令來切換到sdcard目錄
不過由於我還未在手機收進行任何操作,因此我的sdcard目錄下沒有任何文件信息,如果有文件,是會在窗口中顯示出來的
- adb push<本機路徑><手機路徑>:從本地推送信息到手機上
比如想把電腦上的微信推送到手機上,可以輸入adb push 本機路徑可以直接拖拽想要推送的文件或其他軟件(這裏是微信)到CMD窗口,後面加上手機路徑,比如把它放在sdcard目錄中
sdcard 後面的斜槓不能少,否則會出現下面的錯誤:
However!會發現報錯:failed to copy ‘C:\Users\Public\Desktop\微信.lnk’ to ‘/sdcard’: Is a directory
這是因爲,我們推送的放在了文件裏!而不是目錄。“/sdcard”代表一個文件而不是一個目錄應該在sdcard後加"/"–>"/sdcard/"
5. adb logcat–打印日誌
可以通過重定向來將日誌保存到指定的文件中
比如將其保存到G盤的一個文件adb logcat > G:\log\logcat.txt
但是在這之前要先將日誌文件終止
通過Ctrl+c組合鍵來終止日誌的獲取
上面演示的是通過模擬器來演示通過adb對android app 的測試,那如果是真機呢?
真實android手機連接adb:
- 通過usb線直接連接到電腦;
- 下載安裝Android手機驅動(可以下載驅動精靈、手機助手等軟件)
- 在手機找到設置–>開發者模式–>usb調試
- 在彈出的對話框中選擇“允許”
adb常用命令(2)
- adb install xxx.apk ----爲了獲取apk的安裝包所在地址,可以直接把apk拖到cmd窗口獲取,返回succes就代表成功了。
- adb install -r xxx.apk —保留數據和緩存文件,重新安裝apk。
- adb uninstall (應用的包名) —卸載應用
- adb uninstall -k (應用的包名) —卸載應用但保留數據和緩衝
- adb shell dumpsys activity | find “mFocusedActivity” —查看前臺應用activity名
- adb connect/disconnect 通過wifi進行遠程連接手機進行調試
應用的包名可以通過**adb shell dumpsys activity | find “mFocusedActivity”**命令來獲取,具體操作可以參考我的另一篇博客使用monkey進行Android APP壓力穩定測試入門
真實的android手機WiFi遠程調試
- 通過usb線將手機連接到電腦;
- adb devices 能夠檢測到對應的設備
- adb tcpip 5555 確定手機和電腦端的wifi通訊端口
- 拔掉usb線,再通過adb connect 自己手機IP地址
如:adb connect (手機的IP地址)l連接成功後即可通過adb shell 來操作手機對app進行測試
前提條件,手機和電腦要處於同一個內網,即要連接同一個WiFi
adb shell 命令
adb 命令和 adb shell 命令的區分
adb 命令是 adb 這個程序自帶的一些命令,而 adb shell 則是調用的 Android 系統中的命令,這些 Android 特有的命令都放在了 Android 設備的 system/bin 目錄下。
adb shell—登錄設備shell(命令行的人機界面)
-
查看wifi密碼: adb shell cat /data/misc/wifi/*.conf
-
列出安裝在設備上的應用的包名:adb shell pm list package
(不帶任何選項:列出所有的應用的包名)
- -s:列出系統應用:
adb shell pm list package -s
- -3:列出第三方應用
adb shell pm list package -3
-
-f:列出應用包名及對應的apk名及存放位置
adb shell pm list package -f
結果顯示:package:/system/app/SoundRecorder.apk=com.android.soundrecorder -
-i:列出應用包名及其安裝來源:
adb shell pm list package -i
結果顯示例子:
package:com.android.soundrecorder installer=null
命令最後增加 FILTER:過濾關鍵字,可以很方便地查找自己想要的應用 -
參數組合使用,例如查找第三方應用tencent的包名、存放位置及安裝來源:
adb shell pm list package -f -3 -i tencent
- pm path 列出對應包名的 .apk 位置
adb shell pm path com.tencent.mm
-
pm list instrumentation , 列出含有單元測試 case 的應用,後面可跟參數 -f (與 pm list package 中一樣),以及 [TARGET-PACKAGE]
-
pm dump , 後跟包名,列出指定應用的 dump 信息,可查看應用的各種信息
(建議最好重定向到指定文件,不要在cmd窗口查看信息,因爲文件可能會很長)
adb shell pm dump com.tianwen,jjrp > G:\log\tainwenDetail.txt -
pm install , 安裝應用
目標 apk 若是存放在 PC 端,用 adb install 安裝
目標 apk 若是存放於 Android 設備上,用 pm install 安裝
如:
pm uninstall , 卸載應用,同 adb uninstall , 後面跟的參數都是應用的包名
pm clear , 清除應用數據
pm set-install-location , pm get-install-location , 設置應用安裝位置,獲取應用安裝位置
am命令
- am start :啓動一個 Activity,這裏以啓動我們設備的“設置”應用爲例
adb shell am start -n com.android.settings/.Settings
cmd輸出
Starting: Intent { cmp=com.android.settings/.Settings } - 若不清楚“設置”的包名,可以通過命令
adb shell dumpsys activity | find “mFocusedActivity”
先找出當前開啓的設備,然後複製路徑即可(不過這樣一來,可能有人會說,那還要這命令有何用?自己手動打開不就好了嗎,打開了還要手動關閉,再在命令行打開……我也只能說,裝逼用~哈哈哈)
- input text : 發送文本內容,但是改命令無法發送中文
adb shell input text [文本內容(英文)]
如圖
- input tap :對屏幕發送一個觸摸事件
點擊屏幕上座標爲 200 200 的位置
adb shell input tap 200 200 - input keyevent ,:發送按鍵事件
adb shell input keyevent
先介紹到這裏啦~還有關於monkey命令的,可查看使用monkey進行Android APP壓力穩定測試入門