adb 常用命令


    Android開發中,adb工具是必不可少的,借助其可進行調試等操作。以下為工作過程中常用的adb命令,以后遇到會隨時補充!

一、最基本的命令:

1、顯示當前運行的全部設備:

  adb    devices

2、指定某一設備操作:

  adb  -s  XXX    shell

3、截圖和錄制視頻的命令:

(1)截圖:   adb shell screencap -p /sdcard/1.png

(2)錄制視頻:   adb shell screenrecord  /sdcard/1.mp4

4、安裝及卸載應用,兩種不同的方式:

adb install [-r] xxx.apk                        //-r:強制安裝       最后一個參數時apk的全路徑

adb shell pm install [-r] /data/local/tmp/xxx.apk    //安裝的apk來源於設備中   例:data/local/tmp目錄
adb uninstall [k] <PACKAGE>                    //卸載 <PACHAGE>應用包名
adb shell pm uninstall [-k] <PACKAGE>    //-k:卸載應用且保留數據與緩存,不加的話,則全部刪除

5、查看日志:

  adb   logcat  -c

  adb   logcat  -s   tag    //指定標簽的日志

  adb   logcat  -v threatime >test.log    //顯示日志輸出的時間,實際默認顯示

二、其他調試工具:

1、Android 8.0查看進程信息:

  adb shell
  ps -A |grep "cam" -i     //必須使用-A,因為7.0以后ps修改了,不能直接使用.

2、屬性配置工具:  

adb shell getprop
adb shell setprop
adb shell watchprops        //觀察屬性的變化

3、am工具:在命令行啟動應用、服務、廣播、profiling、GDB調試監控等。

adb shell am start -n com.test.testapp/.MainActivity
adb shell am startservice <INTENT>
adb shell am broadcast <INTENT>

4、pm工具:列出安裝包的信息,如:安裝位置,系統所有的安裝包等.

查看危險權限列表可以使用命令:adb shell pm list permissions -g -d

5、getevent/sendevent工具:模擬按鍵和觸屏操作.

adb shell sendevent [device][type][code][value]
注:sendevent命令中數字格式為十進制;getevent命令中數字格式為十六進制,getevent用來監控按鍵、拖動、滑動事件.

【簡單的模擬按鍵】
adb shell input keyevent 66     //66:鍵碼-----此時為KEYCODE_DPAD_CENTER

【獲取按鍵上報】
adb shell getevent          //默認輸出16進制

adb shell getevent -l          //將type、code、value以對應的常量名稱顯示

adb shell getevent -c 10     //輸出10條信息后退出

6、系統管理工具:

adb shell df:查看文件系統的磁盤占用情況.
adb shell mount:掛載和顯示文件系統.

7、使用命令授予應用權限:(針對Android6.0以上設備)

adb install -g xxx.apk                //授予應用程序所有在manifest中申明的權限

adb pm grant <PACKAGE> <PERMISSION>   //授予特定權限,注意:該權限在應用中已經存在,且非dangerous權限,相當於啟用的作用(等同於在系統設置中手動開啟已經關閉的權限)

adb pm revoke <PACKAGE> <PERMISSION>  //撤銷特定權限

例:adb shell grant com.example.testapp  android.permission.ACCESS_FINE_LOCATION   //開啟位置權限 

8、dumpsys工具:觀察當前運行的廣播、Activity棧、服務、進程、內存信息、窗體信息、渲染信息、電池信息等,例:

adb shell dumpsys activity            //activity棧信息
adb shell dumpsys activity broadcasts
adb shell dumpsys activity services
adb shell dumpsys meminfo            //內存信息
adb shell dumpsys power            //省電配置
adb shell dumpsys SurfaceFlinger        //渲染信息
adb shell dumpsys battery            //電池信息,【即當前電量、電池狀態、電池溫度等】
adb shell dumpsys /data/anr/traces.txt    //查看文件內容

9、monkey測試的相關命令:

【單跑一個模塊】
adb shell monkey -p <PACKAGE> --ignore-crashes --ignore-timeouts --ignore-security-exceptions --pct-trackball 0 --pct-nav 0 --pct-majornav 0
--pct-anyevent 0 -v -v -v --throttle 800 1200000000 > /sdcard/monkey.log 2>&1 & 【整體--去除黑名單】 adb shell monkey --pkg-blacklist-file /data/blacklist.txt --ignore-crashes --ignore-timeouts --ignore-security-exceptions --pct-trackball 0
--pct-nav 0 --pct-majornav 0 --pct-anyevent 0 -v -v -v --throttle 800 1200000000 > /mnt/sdcard/monkey.log 2>&1 &

【停止monkey】
1、ps|grep monkey     //找到上述進程id,將其kill即可.

2、當然也可以重啟手機.

三、更多命令及參考:

1、getevent/sendevent工具

2、adb logcat詳述

3、抓取完整log

4、adb基本命令大全

5、adb完整用法大全(包括命令詳解)



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM