溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

adb shell 入門

發(fā)布時間:2020-02-28 16:24:59 來源:網(wǎng)絡 閱讀:247 作者:wutishun 欄目:系統(tǒng)運維

一、ADB 簡介
ADB(Android Debug Bridge) 是 Android 開發(fā)/測試人員不可替代的通用命令行工具,其允許與模擬器實例或連接的 Android 設備進行通信。它可為各種設備操作提供便利,如安裝和調(diào)試應用,并提供對 Unix shell(可用來在模擬器或連接的設備上運行各種命令)的訪問。Android 系統(tǒng)是基于 Linux 內(nèi)核的,所以 Linux 里的很多命令在 Android 里也有相同或類似的實現(xiàn),在 adb shell 里可以調(diào)用。該工具是一個客戶端-服務器程序。

客戶端:客戶端在開發(fā)計算機上運行。您可以通過發(fā)出 adb 命令從命令行終端調(diào)用客戶端。

后臺程序:后臺程序在每個模擬器或設備實例上作為后臺進程運行。http://www.daiqiyang.com

服務器:服務器在開發(fā)計算機上作為后臺進程運行。

二、安裝:網(wǎng)上下載adb解壓到自定義路徑后,配置環(huán)境變量即可。

三、連接:
ADB與本地 TCP 端口 5037 綁定,并偵聽從 adb 客戶端發(fā)送的命令(所有 adb 客戶端均使用端口 5037 與 adb 服務器通信)。

  1. 連接 Android 模擬器
    夜神模擬器:adb connect 127.0.0.1:62001
    2.USB 連接 Android 設備
    a. 打開開發(fā)者選項
    Settings >About phone>連續(xù)點擊 Build number
    b. 開啟 USB debugging
    c .Dos 下輸入adb devices驗證手機是否連上 adb
    3.手機和電腦連入同一局域網(wǎng) adb connect ip

四、常用命令

1、安裝應用
(1)adb install D:\adbtest\baidu.apk 文件名中不要有空格

(2)adb push D:\adbtest\baidu.apk /system/app
會將原來系統(tǒng)中的對應的apk覆蓋掉
可用 adb pull /system/app/baidu.apk /home/ 備份

有時候會出現(xiàn)Read-only的錯誤,我們可以使用強制安裝命令來安裝apk
adb install -r D:\adbtest\baidu.apk

2、卸載
adb uninstall com.baidu.browser.apps

3、導入/導出 文件到手機中
adb pull remote local
adb push local remote

4、包管理命令pm
adb shell pm list packages -3 查看第三方安裝包
根據(jù)包名,查看apk 安裝路徑
adb shell pm path com.baidu.browser.apps 包名
清除app 數(shù)據(jù)
adb shell pm clear com.baidu.browser.apps 包名

5、dumpsys查詢系統(tǒng)服務轉(zhuǎn)儲到屏幕:
查看所有activity
adb shell dumpsys activity activities、
獲取當前運行的Activity
adb shell dumpsys activity | findstr Run

6、查看系統(tǒng)進程
adb shell top
adb shell ps
Ps 只提供當前進程的快照。top即時查看最活躍的進程

7、抓取日志adb logcat
adb logcat -v time :E >D:\test.log 抓取日志并輸出到制定路徑
adb logcat ActivityManager:i
:s
查看activity日志,僅輸出標記為“ActivityManager”并且優(yōu)先級大于等于“Info”的日志,*:S用于設置所有標記的日志優(yōu)先級為S,這樣可以確保僅輸出符合條件的日志。
只顯示需要的輸出(白名單),通過管道使用 grep 過濾。
參考資料(https://www.cnblogs.com/bydzhangxiaowei/p/8168598.html)

8、adb shell monkey 壓力測試
參考資料(https://www.cnblogs.com/yindada/p/9845032.html)
adb shell monkey -p com.baidu.browser.apps -v 1000 >d:\adbtest\monkey_test.txt
-p ,此命令用于指定包,若不指定則在整個系統(tǒng)中執(zhí)行
-v ,用于反饋日志的詳細程度級別
Level 0 : adb shell monkey -p 包名 -v 10 // 默認級別,僅提供啟動、測試完成和最終結(jié)果等少量信息

Level 1 : adb shell monkey -p 包名 -v -v 10 // 提供較為詳細的日志,包括每個發(fā)送到Activity的事件信息

Level 2 : adb shell monkey -p 包名 -v -v -v 10 // 提供最詳細的日志,包括了測試中選中/未選中的Activity信息
1.程序無響應:ANR問題:在日志中搜索“ANR”
2.崩潰問題:在日志中搜索“CRASH”
3.其他問題:在日志中搜索”Exception”

9、模擬用戶操作
點擊事件
adb shell input keyevent <keycode>
滑動
adb shell input swipe 300 1000 300 500
文本輸入
adb shell input text hello,world

10、截屏、錄像:
adb shell screencap /system/test.png文件保存路徑
adb shell screenrecord 文件保存路徑

Android adb調(diào)試時,經(jīng)常會遇到權(quán)限問題(failed for /system/lib/libmm-test.so, Read-only file system),即使Root設備,在向/system等系統(tǒng)文件夾操作時(比如push、rm等),依然可能會提示“Read-only file system”。adb remount 重新掛載系統(tǒng)分區(qū),使系統(tǒng)分區(qū)重新可寫或著重啟 (http://www.metsky.com/archives/670.html)

screenrecord 部分參數(shù)
--size width x height 設置分辨率 eg:1280x720
--bit-rate rate 視頻比特率,默認值為 4Mbps,可以設6Mbps,這樣質(zhì)量更好 eg:adb shell screenrecord --bit-rate 6000000 /system/demo.mp4
--time-limit time 設置最大錄制時長(以秒為單位)。默認值和最大值均為 180(3 分鐘)

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI