adb進行手機操作

  • adb devices

    列出所有連接電腦的設(shè)備

  • adb reboot

    重啟手機

  • adb pull <遠程路徑> <本地路徑>

    從手機中文件拉到本地

  • adb push <本地路徑> <遠程路徑>

    把文件從本地推到手機

  • adb service list

    列出手機中有的 service
    在使用adb shell dumpsys + 服務(wù)名 使用服務(wù)
    國產(chǎn)部隊手機對服務(wù)進行閹割,所以當(dāng)使用這個命令時要確定手機中有這個服務(wù)可以用
    可以在列出的服務(wù)中拿到幾乎所有想要的信息

      例:adb shell dumpsys window
    
  • adb shell
    進入手機shell
    如果是多臺設(shè)備連接到電腦需要使用

  • adb shell cat /system/build.prop

  • adb shell getprop []

    獲取手機基本信息
    想要獲取某單個信息在linux下可以用grep命令,或者在getprop后加屬性key

      例 : adb shell getprop ro.product.model
    
  • adb shell dumpsys display

  • adb shell dumpsys window displays

    獲取手機屏幕信息,兩種方式都可以獲取,有部分手機可能只支持一種

  • adb shell dumpsys display | grep PhysicalDisplayInfo

    獲取屏幕的物理信息,grep命令是linux下才能執(zhí)行,當(dāng)在windows下使用時可以選擇手動在字符中截取有用的信息

  • adb shell wm size

    獲取手機屏幕尺寸

  • adb shell cat /sys/class/net/wlan0/address

    獲取手機mac地址
    當(dāng)手機在沒有鏈接網(wǎng)絡(luò)時無法獲取到

  • adb shell dumpsys memoinfo

  • adb shell cat /proc/meminfo

    獲取手機內(nèi)存信息

  • adb shell dumpsys activity

    獲取當(dāng)前手機中Activity棧信息

  • adb shell input keycode

    植入按鈕點擊事件

  • adb shell input tap

    植入屏幕點擊事件,先X軸再Y軸

        例: adb shell input tap 100 200
    
  • adb shell intput swipe left top right bottom

    植入屏幕滑動事件
    左上為滑動的起始位置,右下為滑動的結(jié)束位置

       例:adb shell input swipe 100 200  500 300
    
  • adb shell input text

    輸入一個字符串,只支持英文數(shù)字和部分符號
    當(dāng)需要為一個控件輸入內(nèi)容時,需要先保證輸入框正片處于焦點

  • adb shell dumpsys activty | grep -i mSleeping

    判斷當(dāng)前屏幕狀態(tài)

  • adb shell dumpsys cpuinfo

  • adb shell top -s cpu

    獲取手機cpu信息

  • adb shell am start packageName/className

    啟動一個Activity

  • adb shell am broadcast

    發(fā)送一個廣播,使用-a來指定Action,-d指定數(shù)據(jù)

      adb shell am broadcast -a 'com.icechao.broadcast'
    
  • adb shell am am force-stop packageName

    強制停止一個應(yīng)用

  • adb shell pm clear packageName

    清理應(yīng)用數(shù)據(jù)

  • adb shelll kill pid

    殺死某個進程

  • adb logcat -v time -d

    打印logcat

  • adb shell df

    文件系統(tǒng)的磁盤空間占用情況

  • adb shell /system/bin/screencap -p /sdcard/screenshot.png

    手機截屏

  • adb shell screenrecord --time-limit 10 /sdcard/demo.mp4

    錄制屏幕

  • adb shell getprop dhcp.wlan0.ipaddress

    獲取手機ip地址

  • cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq

    獲取手機Cpu最小頻率

  • cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq

    獲取手機Cpu最大頻率

  • cat /sys/devices/system/cpu/cpu0/cpufreq/kernel_max

    獲取手機cpu核數(shù)

  • adb shell dumpsys window policy | grep mScreenOnFully

    獲取手機屏幕策略,windows中需要不能使用grep命令篩選信息

  • adb shell dumpsys window policy | grep mShowingLockscreen

    判斷當(dāng)前手機是否是鎖屏狀態(tài)

  • adb shell svc wifi enable/disable

       打開手機wifi,實測部份三星手機不支持些方法
    
  • adb shell monkey

    能過monkey植入事件為app進行壓力測試
    一個測試小哥和我說monkey是穩(wěn)定性測試不是壓測

    Monkey命令參數(shù)介紹
    1. 參數(shù): -p

    參數(shù)-p用于約束限制墓造,用此參數(shù)指定一個或多個包(Package,即App)。指定

    包之后尉剩,Monkey將只允許系統(tǒng)啟動指定的APP码秉。如果不指定包菌瘫,Monkey將允許系統(tǒng)啟動設(shè)備中的所有APP奈偏。

      指定一個包: adb shell monkey -pcom.htc.Weather 100
    

    說明:com.htc.Weather為包名飞几,100是事件計數(shù)(即讓Monkey程序模擬100次隨機用戶事件)后室。

      指定多個包:adb shell monkey -pcom.htc.Weather –p com.htc.pdfreader  -pcom.htc.photo.widgets 100
    
    • 不指定包:adb shell monkey 100

    說明:Monkey隨機啟動APP并發(fā)送100個隨機事件缩膝。

    • 要查看設(shè)備中所有的包,在CMD窗口中執(zhí)行以下命令:

    adbshell

    cddata/data

    #ls
    
    1. 參數(shù): -v

    用于指定反饋信息級別(信息級別就是日志的詳細程度)岸霹,總共分3個級別疾层,分別對應(yīng)的參數(shù)如下表所示:

    日志級別Level0

    示例adb shellmonkey -p com.htc.Weather –v 100

    說明 缺省值,僅提供啟動提示贡避、測試完成和最終結(jié)果等少量信息

    日志級別Level 1

    示例adb shellmonkey -p com.htc.Weather –v -v 100

    說明 提供較為詳細的日志痛黎,包括每個發(fā)送到Activity的事件信息

    日志級別Level 2

    示例adb shellmonkey -p com.htc.Weather –v -v –v 100

    說明 最詳細的日志,包括了測試中選中/未選中的Activity信息

    1. 參數(shù): -s

    用于指定偽隨機數(shù)生成器的seed值刮吧,如果seed相同湖饱,則兩次Monkey測試所產(chǎn)生的事件序列也相同的。

    • 示例:

        Monkey測試1:adb shell monkey -p com.htc.Weather –s 10 100
      
        Monkey測試2:adbshell monkey -p com.htc.Weather–s 10 100
      

      兩次測試的效果是相同的皇筛,因為模擬的用戶操作序列(每次操作按照一定的先后順序所組成的一系列操作琉历,即一個序列)是一樣的。操作序列雖然是隨機生成的水醋,但是只要我們指定了相同的Seed值旗笔,就可以保證兩次測試產(chǎn)生的隨機操作序列是完全相同的,所以這個操作序列偽隨機的拄踪;

    1. 參數(shù): --throttle <毫秒>

    用于指定用戶操作(即事件)間的時延蝇恶,單位是毫秒;

    • 示例:adb shell monkey -pcom.htc.Weather –throttle 3000 100
    1. 參數(shù): --ignore-crashes

    用于指定當(dāng)應(yīng)用程序崩潰時(Force& Close錯誤)惶桐,Monkey是否停止運行撮弧。如果使用此參數(shù),即使應(yīng)用程序崩潰姚糊,Monkey依然會發(fā)送事件贿衍,直到事件計數(shù)完成。

      示例1:adbshellmonkey -p com.htc.Weather --ignore-crashes 1000
    
    測試過程中即使Weather程序崩潰救恨,Monkey依然會繼續(xù)發(fā)送事件直到事件數(shù)目達到1000為止贸辈;
    
      示例2:adbshellmonkey -p com.htc.Weather 1000
    
    測試過程中,如果Weather程序崩潰肠槽,Monkey將會停止運行擎淤。
    
    1. 參數(shù): --ignore-timeouts

    用于指定當(dāng)應(yīng)用程序發(fā)生ANR(Application No Responding)錯誤時奢啥,Monkey是否停止運行。如果使用此參數(shù)嘴拢,即使應(yīng)用程序發(fā)生ANR錯誤桩盲,

    Monkey依然會發(fā)送事件,直到事件計數(shù)完成席吴。

    1. 參數(shù): --ignore-security-exceptions

    用于指定當(dāng)應(yīng)用程序發(fā)生許可錯誤時(如證書許可赌结,網(wǎng)絡(luò)許可等),Monkey是否停止運行孝冒。如果使用此參數(shù)姑曙,即使應(yīng)用程序發(fā)生許可錯誤,

    Monkey依然會發(fā)送事件迈倍,直到事件計數(shù)完成。

    1. 參數(shù): --kill-process-after-error

    用于指定當(dāng)應(yīng)用程序發(fā)生錯誤時捣域,是否停止其運行啼染。如果指定此參數(shù),當(dāng)應(yīng)用程序發(fā)生錯誤時焕梅,應(yīng)用程序停止運行并保持在當(dāng)前狀態(tài)(注意:應(yīng)用程序僅是靜止在發(fā)生錯誤時的狀態(tài)迹鹅,系統(tǒng)并不會結(jié)束該應(yīng)用程序的進程)。

    1. 參數(shù): --monitor-native-crashes

    用于指定是否監(jiān)視并報告應(yīng)用程序發(fā)生崩潰的本地代碼贞言。

    1. 參數(shù): --pct-{+事件類別}{+事件類別百分比}

    用于指定每種類別事件的數(shù)目百分比(在Monkey事件序列中斜棚,該類事件數(shù)目占總事件數(shù)目的百分比)

    這些是我們進行操作時一般會用到的參數(shù)。執(zhí)行過程中该窗,在dos命令里日志顯示只有一小部分弟蚀,我們就需要在我們編寫的命令行后再加上>log.txt就可以在我們保存adb路徑中自動生成日志,方便我們進行查看酗失。

    比如:

      adb shell -p com.htc.xxx -v -v -v -s 2505000>log.txt
    

    上面語句的意思就是义钉,對com.htc.xxx隨機操作5000次,send值為250规肴,并且打印level 2日志捶闸,并且將日志保存到log.txt。

命令講完后拖刃,我們來講一講如何查看日志删壮。

當(dāng)日志生成后,我們需要進入日志當(dāng)中查看是否有APP崩潰記錄或者無響應(yīng)記錄兑牡。崩潰記錄查找”CRASH”央碟,無響應(yīng)記錄查找”ANR”,內(nèi)存泄露問題搜索"GC"(需進一步分析),異常問題搜索“Exception”(如果出現(xiàn)空指針发绢,NullPointerException硬耍,需格外重視)垄琐。

為了進一步分析問題的來源,可以找到Log中出現(xiàn)問題處的前一次Switch经柴,隨后根據(jù)Log主要是查看相關(guān)的Activity狸窘。

下面我就把我昨天執(zhí)行后的日志拿出來:

進入日志后,會顯示

    :Monkey: seed=250count=3500
    
    :AllowPackage:com.text.app.hospitalassistant

上面表示了點擊了3500次坯认,執(zhí)行seed值為250翻擒,對甘肅婦幼這個APP進行了操作。

    // Eventpercentages:
    
    //   0: 15.0% 0:觸摸事件百分比牛哺,即參數(shù)–pct-touch
    
    //   1: 10.0% 1:滑動事件百分比陋气,即參數(shù)–pct-motion
    
    //   2: 2.0%  2:縮放事件百分比,即參數(shù)–pct-pinchzoom
    
    //   3: 15.0%  3:軌跡球事件百分比引润,即參數(shù)–pct-trackball
    
    //   4: -0.0% 4:屏幕旋轉(zhuǎn)事件百分比巩趁,即參數(shù)–pct-rotation
    
    //   5: 25.0% 5:基本導(dǎo)航事件百分比,即參數(shù)–pct-nav
    
    //   6: 15.0% 6:主要導(dǎo)航事件百分比淳附,即參數(shù)–pct-majornav
    
    //   7: 2.0% 7:系統(tǒng)事件百分比议慰,即參數(shù)–pct-syskeys
    
    //   8: 2.0% 8:Activity啟動事件百分比,即參數(shù)–pct-appswitch
    
    //   9: 1.0% 9:鍵盤翻轉(zhuǎn)事件百分比奴曙,即參數(shù)–pct-flip
    
    //   10: 13.0% 10:其他事件百分比别凹,即參數(shù)–pct-anyevent



####
grep(命令中 ' | '到命名結(jié)束的部份)命令可以從得到的結(jié)果里篩選想要的信息行,這個命令只支持linux 在windows可以考慮使用findstr



#####在進入手機shell模式后很多通用命令是和linux是一樣的,所以可以直接使用linux命令來獲取手機的信息


#####當(dāng)電腦連接多臺手機使用 adb -s 手機序列號 命令  的方式指定手機



##當(dāng)需要代碼參數(shù)時 輸入命令會有參數(shù)介紹可以根據(jù)介紹添加對應(yīng)的命令參數(shù) 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市洽糟,隨后出現(xiàn)的幾起案子炉菲,更是在濱河造成了極大的恐慌,老刑警劉巖坤溃,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拍霜,死亡現(xiàn)場離奇詭異,居然都是意外死亡浇雹,警方通過查閱死者的電腦和手機沉御,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來昭灵,“玉大人吠裆,你說我怎么就攤上這事±猛辏” “怎么了试疙?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長抠蚣。 經(jīng)常有香客問我祝旷,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任怀跛,我火速辦了婚禮距贷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘吻谋。我一直安慰自己忠蝗,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布漓拾。 她就那樣靜靜地躺著阁最,像睡著了一般。 火紅的嫁衣襯著肌膚如雪骇两。 梳的紋絲不亂的頭發(fā)上速种,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機與錄音低千,去河邊找鬼配阵。 笑死,一個胖子當(dāng)著我的面吹牛示血,可吹牛的內(nèi)容都是我干的闸餐。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼矾芙,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了近上?” 一聲冷哼從身側(cè)響起剔宪,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎壹无,沒想到半個月后葱绒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡斗锭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年地淀,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片岖是。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡帮毁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出豺撑,到底是詐尸還是另有隱情烈疚,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布聪轿,位于F島的核電站爷肝,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜灯抛,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一金赦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧对嚼,春花似錦夹抗、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至磨确,卻和暖如春沽甥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背乏奥。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工摆舟, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人邓了。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓恨诱,卻偏偏與公主長得像,于是被迫代替她去往敵國和親骗炉。 傳聞我的和親對象是個殘疾皇子照宝,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容