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、當然也可以重啟手機.
三、更多命令及參考:
3、抓取完整log
