版權聲明:歡迎轉載,請尊重作者azhengye,標明出處http://blog.csdn.net/azhengye
在Android應用開發過程中,熟悉常用的adb調試命令往往能事半功倍,再此做一個彙總記錄。
adb shell vm 命令
adb shelll vm 命令在4.3以後的版本纔可用,使用它可以方便的查看或者設置屏幕的分辨率、密度。
- adb shell vm size
查看分辨率,我本機的輸出結果如下:Physical size: 720x1280
如果想要設置成其他分辨率,在size 後面加上想要的參數即可,比如adb shell vm size 720x1080
-
adb shell vm density
查看屏幕密度,我本機輸出結果如下:Physical density: 320
同樣density後面也可已加上想要的密度值,比如adb shell wm density 200
-
adb shell wm overscan
設置窗口的顯示位置,比如想讓界面在靠左200, 靠上300,靠右400 , 靠下500的顯示區域顯示 ,可以這樣設置adb shell wm overscan 200,300,400,500
通過vm設置的值手機重啓後依然生效,如果想回復默認的,可以參考下面的設置方法 adb shell wm density reset
adb shell svc命令
svc 命令可以控制電源、數據流量、wifi、usb的開關狀態,用法如下
Available commands:
help Show information about the subcommands
power Control the power manager
data Control mobile data connectivity
wifi Control the Wi-Fi manager
usb Control Usb state
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
比如要直接打開wifi可以用如下的命令方式 adb shell svc wifi enable
adb shell settings命令
settings命令可以更加方便的查看、更改SettingsProvider數據庫的值,有了它不用在通過Sqlite3命令操作Settins數據庫了。用法如下:
usage: settings [--user NUM] get namespace key
settings [--user NUM] put namespace key value
settings [--user NUM] delete namespace key
'namespace' is one of {system, secure, global}, case-insensitive
If '--user NUM' is not given, the operations are performed on the owner user.
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
比如存放在Settings數據庫global表中的字段airplane_mode_on表明是否開啓了飛行模式,可以通過 adb shell settings get global airplane_mode_on
直接看到它的值,方便debug工作。
adb shell content命令
adb shell content 命令可以直接通過命令行對contentprovider數據集進行增刪改查操作,非常利於debug功做。
比如要查看系統media數據庫裏存放的圖片記錄,可以通過命令: adb shell content query --uri content://media/external/images/media
直接查看,相對與Sqlite3命令更爲快捷。下圖是用該命令測試的結果:
如果要更改_id=3082這條數據的title字段可以通過命令: adb shell content update --uri content://media/external/images/media/3082 --bind title:s:test.png
來實現,測試結果如下圖:
adb shell pm命令
pm(package manager)命令方便查看系統當前安裝包的一些狀態,功能強大,選取幾個我經常使用的場景.更多的使用方法直接輸入adb shell pm查看輸出幫助。
- 清除應用數據。
在Launcher開發的時候,更新完成桌面應用圖標的位置後,如果要查看顯示效果,就必須先把Launcher的數據清除,否則新的改動不會生效。這個時候可以用clear命令一步完成。adb shell pm clear com.android.launcher
- 查看當前安裝的所有 apk。
整機開發的時候,經常需要查看下當前手機安裝了哪些應用,可以通過adb shell pm list packages
查看
查看包名和文件名對應表adb shell pm list packages -f
查看安裝的第三方應用adb shell pm list packages -3
- 禁止或啓用一個應用
禁止一個應用adb shell pm disable [packagename]
開啓一個應用adb shell pm enable [packagename]
adb shell am
am(activity manager) 命令方便調試應用的活動行爲,它的使用場景比較多。網上的使用說明也比較多,不多加說明了。選常用的兩個
- 啓動一個activity
adb -d shell am start -n com.google.android.setupwizard/.SetupWizardTestActivity
- 模擬發送廣播
在開發SystemUI時,涉及到SIM卡狀態顯示的debug工作,模擬發送廣播就非常有用了。adb shell am broadcast -a android.intent.action.SIM_STATE_CHANGED --es ss ABSENT --ei slot 1
adb shell dumpsys
dumpsys 命令常用來查看activity的堆棧信息,比如 adb shell dumpsys activity activities
也可以查看電池信息adb shell dumpsys battery
還可以查看某個安裝包的詳細信息 adb shell dumpsys package com.google.android.googlequicksearchbox
和grep命令結合可以過濾出關心的信息,比如要查看googlequicksearchbox的版本就可以使用下面的命令 adb shell dumpsys package com.google.android.googlequicksearchbox|g
rep versionName
adb shell screencap/screenrecord
截屏adb shell screencap -p /sdcard/test.png
錄屏adb shell screenrecord --time-limit 10 --bit-rate 6000000 /sdcard/demo.mp4
aapt命令
aapt命令可以用來查看一個apk包含的資源類信息,比如版本號,權限等。它位於SDK下的build-tools目錄裏。使用說明如下圖:
- 頂
- 2
- 踩