Android ADB常用

ADB是個(gè)強(qiáng)大的調(diào)試工具,如果你有root權(quán)限,就掌控了整個(gè)手機(jī)。


模擬按鍵

adb shell input keyevent 66    //回車
adb shell input keyevent 22    //導(dǎo)航右鍵

模擬點(diǎn)擊(單擊)

adb shell input tap 1000 1750  //x 1000, y 1750

開發(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
bk.jpg

從指定文件恢復(fù)

adb restore <your backup file dir>
rs.jpg

列出手機(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> 啟動 <INTENT> 指定的 Activity
startservice [options] <INTENT> 啟動 <INTENT> 指定的 Service
broadcast [options] <INTENT> 發(fā)送 <INTENT> 指定的廣播
force-stop <packagename> 停止 <packagename> 相關(guān)的進(jìn)程

<INTENT> 參數(shù)很靈活,和寫 Android 程序時(shí)代碼里的 Intent 相對應(yīng)。

用于決定 intent 對象的選項(xiàng)如下:

參數(shù) 含義
-a <ACTION> 指定 action,比如 android.intent.action.VIEW
-c <CATEGORY> 指定 category,比如 android.intent.category.APP_CONTACTS
-n <COMPONENT> 指定完整 component 名,用于明確指定啟動哪個(gè) Activity,如 com.example.app/.ExampleActivity

<INTENT> 里還能帶數(shù)據(jù),就像寫代碼時(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ù)鍵值對 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

去除所有解鎖手勢

adb shell rm /data/system/access_control.key 
adb shell rm /data/system/password.key 
adb shell rm /data/system/gesture.key
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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