ADB是個(gè)強(qiáng)大的調(diào)試工具使兔,如果你有root權(quán)限建钥,就掌控了整個(gè)手機(jī)。
模擬按鍵
adb shell input keyevent 66 //回車(chē)
adb shell input keyevent 22 //導(dǎo)航右鍵
模擬點(diǎn)擊(單擊)
adb shell input tap 1000 1750 //x 1000, y 1750
開(kāi)發(fā)最重要功能虐沥,抓LOG
adb logcat > <your log file dir>
備份應(yīng)用和設(shè)備的數(shù)據(jù)(不包含apk)
adb backup -all
備份應(yīng)用和設(shè)備的數(shù)據(jù)
adb backup -apk -all
從指定文件恢復(fù)
adb restore <your backup file dir>
列出手機(jī)裝的所有app的包名
adb shell pm list packages
列出除了系統(tǒng)應(yīng)用的第三方應(yīng)用包名
adb shell pm list packages -3
與應(yīng)用交互
主要是使用 am <command>
命令熊经,常用的 <command>
如下:
command | 用途 |
---|---|
start [options] <INTENT> |
啟動(dòng) <INTENT> 指定的 Activity |
startservice [options] <INTENT> |
啟動(dòng) <INTENT> 指定的 Service |
broadcast [options] <INTENT> |
發(fā)送 <INTENT> 指定的廣播 |
force-stop <packagename> |
停止 <packagename> 相關(guān)的進(jìn)程 |
<INTENT>
參數(shù)很靈活,和寫(xiě) Android 程序時(shí)代碼里的 Intent 相對(duì)應(yīng)欲险。
用于決定 intent 對(duì)象的選項(xiàng)如下:
參數(shù) | 含義 |
---|---|
-a <ACTION> |
指定 action镐依,比如 android.intent.action.VIEW
|
-c <CATEGORY> |
指定 category,比如 android.intent.category.APP_CONTACTS
|
-n <COMPONENT> |
指定完整 component 名天试,用于明確指定啟動(dòng)哪個(gè) Activity槐壳,如 com.example.app/.ExampleActivity
|
<INTENT>
里還能帶數(shù)據(jù),就像寫(xiě)代碼時(shí)的 Bundle 一樣:
參數(shù) | 含義 | |
---|---|---|
--esn <EXTRA_KEY> |
null 值(只有 key 名) | |
`-e | --es <EXTRA_KEY> <EXTRA_STRING_VALUE>` | string 值 |
--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> |
boolean 值 | |
--ei <EXTRA_KEY> <EXTRA_INT_VALUE> |
integer 值 | |
--el <EXTRA_KEY> <EXTRA_LONG_VALUE> |
long 值 | |
--ef <EXTRA_KEY> <EXTRA_FLOAT_VALUE> |
float 值 | |
--eu <EXTRA_KEY> <EXTRA_URI_VALUE> |
URI | |
--ecn <EXTRA_KEY> <EXTRA_COMPONENT_NAME_VALUE> |
component name | |
--eia <EXTRA_KEY> <EXTRA_INT_VALUE>[,<EXTRA_INT_VALUE...] |
integer 數(shù)組 | |
--ela <EXTRA_KEY> <EXTRA_LONG_VALUE>[,<EXTRA_LONG_VALUE...] |
long 數(shù)組 |
調(diào)起 Activity
命令格式:
adb shell am start [options] <INTENT>
例如:
adb shell am start -n com.tencent.mm/.ui.LauncherUI
表示調(diào)起微信主界面秋秤。
adb shell am start -n org.mazhuang.boottimemeasure/.MainActivity --es "toast" "hello, world"
表示調(diào)起 org.mazhuang.boottimemeasure/.MainActivity
并傳給它 string 數(shù)據(jù)鍵值對(duì) toast - hello, world
宏粤。
調(diào)起 Service
命令格式:
adb shell am startservice [options] <INTENT>
例如:
adb shell am startservice -n com.tencent.mm/.plugin.accountsync.model.AccountAuthenticatorService
查看Activy棧
adb shell dumpsys activity | findstr "mFocusedActivity"
adb shell dumpsys activity top
去除所有解鎖手勢(shì)
adb shell rm /data/system/access_control.key
adb shell rm /data/system/password.key
adb shell rm /data/system/gesture.key