詳解android adb常見用法
ADB,即 Android Debug Bridge,是 Android 開發(fā)/測(cè)試人員不可替代的強(qiáng)大工具。
adb與應(yīng)用的連接
1.啟動(dòng)/停止
啟動(dòng) adb server 命令:
adb start-server
(一般無需手動(dòng)執(zhí)行此命令,在運(yùn)行 adb 命令時(shí)若發(fā)現(xiàn) adb server 沒有啟動(dòng)會(huì)自動(dòng)調(diào)起。)
停止 adb server 命令:
adb kill-server
2.查看 adb 版本
命令:
adb version
輸出為:
C:\WINDOWS\system32>adb version
Android Debug Bridge version 1.0.41
Version 29.0.6-6198805
Installed as E:\program\android-sdk_r24.4.1-windows\android-sdk-windows\platform-tools\adb.exe
3.查看已連接設(shè)備
adb devices
輸出為:
C:\WINDOWS\system32>adb devices
List of devices attached
CVH7N16A12000234 device
顯示屏參數(shù)
1.android_id
adb shell settings get secure android_id
2.android系統(tǒng)版本
adb shell getprop ro.build.version.release
3.分辨率
adb shell wm size
輸出為:
C:\WINDOWS\system32>adb shell wm size
Physical size: 1440x2560
4.密度
adb shell wm density
輸出為:
Physical density: 560
5.顯示屏參數(shù)
adb shell dumpsys window displays
其中 mDisplayId 為 顯示屏編號(hào),init 是初始分辨率和屏幕密度,app 的高度比 init 里的要小,表示屏幕底部有虛擬按鍵
adb與應(yīng)用交互
1.查看前臺(tái) Activity
adb shell dumpsys activity | findstr "mFocusedActivity"
獲取完整路徑:
adb shell dumpsys window | findstr mCurrentFocus
2.查看正在運(yùn)行的Services
adb shell dumpsys activity services [packagename]
3查看應(yīng)用詳細(xì)信息
adb shell dumpsys package [packagename]
command | 用途 |
---|---|
start [options] | 啟動(dòng) Activity |
startservice [options] | 啟動(dòng) Service |
broadcast [options] | 發(fā)送廣播 |
force-stop | 停止進(jìn)程 |
用于決定intent對(duì)象的選項(xiàng)如下:
參數(shù) | 作用 |
---|---|
-a | 指定action,比如 android.intent.action.VIEW |
-c | 指定 category,比如 android.intent.category.APP_CONTACTS |
-n | 指定完整 component 名,用于明確指定啟動(dòng)哪個(gè) Activity,如 com.example.app/.ExampleActivity |
-W | 輸出完整的打開應(yīng)用過程 |
am(Activity Manager)命令來啟動(dòng)一個(gè)APP、啟動(dòng)Activity、啟動(dòng)廣播和服務(wù)等
4.啟動(dòng)應(yīng)用
adb shell am start xx
舉例:
C:\WINDOWS\system32>adb shell am start -W com.tencent.mobileqq/com.tencent.mobileqq.activity.SplashActivity Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.tencent.mobileqq/.activity.SplashActivity } Warning: Activity not started, its current task has been brought to the front Status: ok Activity: com.tencent.mobileqq/.activity.SplashActivity ThisTime: 2916 TotalTime: 2916 WaitTime: 2936 Complete
5.啟動(dòng)Service
adb shell am startservice "com.example.crime/com.example.crime.MyService"
6.停止Service
adb shell am stopservice [options] <INTENT>
7.發(fā)送廣播
adb shell am broadcast -a "our.specified.action"
8.強(qiáng)制停止應(yīng)用
adb shell am force-stop com.qihoo360.mobilesafe
9.查看應(yīng)用安裝路徑
adb shell pm path (PACKAGE)
舉例:
C:\WINDOWS\system32>adb shell pm path com.tencent.mobileqq package:/data/app/com.tencent.mobileqq-xt0XnDpe7yq8Z5YGef0iEA==/base.apk
10.查看手機(jī)應(yīng)用
adb shell pm list packages
可在 adb shell pm list packages 的基礎(chǔ)上可以加一些參數(shù)進(jìn)行過濾查看不同的列表,支持的過濾參數(shù)如下:
參數(shù) | 顯示列表 |
---|---|
無 | 所有應(yīng)用 |
-f | 顯示應(yīng)用關(guān)聯(lián)的apk文件 |
-d | 只顯示disabled的應(yīng)用 |
-e | 只顯示enabled的應(yīng)用 |
-s | 只顯示系統(tǒng)應(yīng)用 |
-3 | 只顯示第三方應(yīng)用 |
-i | 顯示應(yīng)用的 installer |
-u | 包含已卸載應(yīng)用 |
舉例:
1.打印第三方應(yīng)用的列表
adb shell pm list package -3
輸出為:
C:\WINDOWS\system32>adb shell pm list package -3
package:com.quark.browser
package:com.safervpn.android
package:de.blinkt.openvpn
package:com.zhiliaoapp.musically.go
package:net.ivpn.client
package:com.networkprotect.ultravpn
package:com.google.android.apps.docs.editors.docs
package:com.expressvpn.vpn
package:com.sharpvpn.freefast_ipchanger
package:com.whatsapp
package:com.google.android.apps.docs.editors.sheets
package:com.google.android.apps.docs.editors.slides
package:com.digitanlabs.apps.supervpn
package:com.gaditek.purevpnics
package:com.speedify.speedifyandroid
package:net.hideman.free
package:net.safemove.android.cip
package:com.securitykiss.android
package:im.zpn
2.包名含有某字符的應(yīng)用
C:\WINDOWS\system32>adb shell pm list packages tencent package:com.tencent.mm package:com.tencent.qqlivei18n package:com.tencent.mobileqq
當(dāng)然也可以用管道符來過濾:
C:\WINDOWS\system32>adb shell pm list packages | findstr tencent package:com.tencent.mm package:com.tencent.qqlivei18n package:com.tencent.mobileqq
11.安裝apk
adb install xx.apk
允許覆蓋安裝:
adb install -r xx.apk
12.卸載apk
adb uninstall com.tencent.mobileqq
卸載并保留數(shù)據(jù):
adb uninstall -k com.tencent.mobileqq
13.指定adb server的網(wǎng)絡(luò)端口
adb -P <port> start-server
文件管理
1.復(fù)制設(shè)備里的文件到電腦
adb pull <設(shè)備里的文件路徑> [電腦上的目錄]
其中 電腦上的目錄 參數(shù)可以省略,默認(rèn)復(fù)制到當(dāng)前目錄。
2.復(fù)制電腦里的文件到設(shè)備
adb push <電腦上的文件路徑> <設(shè)備里的目錄>
事件輸入
1.模擬按鍵操作
adb shell input keyevent < keycode >
不同的 keycode 能實(shí)現(xiàn)不同的功能,列表如下:
keycode: 含義 3 HOME 鍵 4 返回鍵 5 打開撥號(hào)應(yīng)用 6 掛斷電話 24 增加音量 25 降低音量 26 電源鍵 27 拍照(需要在相機(jī)應(yīng)用里) 64 打開瀏覽器 82 菜單鍵 85 播放/暫停 86 停止播放 87 播放下一首 88 播放上一首 122 移動(dòng)光標(biāo)到行首或列表頂部 123 移動(dòng)光標(biāo)到行末或列表底部 126 恢復(fù)播放 127 暫停播放 164 靜音 176 打開系統(tǒng)設(shè)置 187 切換應(yīng)用 207 打開聯(lián)系人 208 打開日歷 209 打開音樂 210 打開計(jì)算器 220 降低屏幕亮度 221 提高屏幕亮度 223 系統(tǒng)休眠 224 點(diǎn)亮屏幕 231 打開語音助手 276 如果沒有 wakelock 則讓系統(tǒng)休眠
亮屏熄屏:
adb shell input keyevent 26
2.滑動(dòng)屏幕
adb shell input swipe x1 y1 x2 y2
參數(shù)分別表示:起始點(diǎn)x坐標(biāo) 起始點(diǎn)y坐標(biāo) 結(jié)束點(diǎn)x坐標(biāo) 結(jié)束點(diǎn)y坐標(biāo)
3.輸入文本
adb shell input text 123
4.模擬屏幕點(diǎn)擊事件
adb shell input tap 500 500
事件輸出
1.日志信息:
使用adb logcat可以顯示日志信息
2.dumpsys:
dumpsys命令可以提供非常多的系統(tǒng)信息??梢酝ㄟ^adb shell service list來查看dumpsys能提供查詢信息的服務(wù)。
列舉幾個(gè):
查看電池信息
adb shell dumpsys battery
查看鬧鐘信息
adb shell dumpsys alarm
3.截屏
adb shell screencap /imgpath/screen.png
4.錄屏
adb shell screenrecord /imgpath/demo.mp4
imgpath可以根據(jù)自己相冊(cè)里面的照片路徑信息獲取
以上就是詳解android adb常見用法的詳細(xì)內(nèi)容,更多關(guān)于android adb用法的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Android設(shè)備adb連接后顯示device unauthorized解決方案
- 基于adbkit的android設(shè)備管理(精簡版stf)
- android中的adb命令學(xué)習(xí)
- 超詳細(xì)的Android開發(fā)調(diào)試工具ADB命令及安裝介紹
- android中adb命令最全總結(jié)
- adb通過wifi連接android設(shè)備流程解析
- Android adb命令中pm工具的作用及用法說明
- Android adb安裝apk時(shí)提示Invalid APK file的問題
- Android user版通過adb_enable開啟adb 調(diào)試 不提示對(duì)話框的流程分析
- Android PC端用ADB抓取指定應(yīng)用日志實(shí)現(xiàn)步驟
- Android 實(shí)現(xiàn)永久性開啟adb 的root權(quán)限
- 關(guān)于ADB的Android Debug Bridge(安卓調(diào)試橋)那些事
- Android客制化adb shell進(jìn)去后顯示shell@xxx的標(biāo)識(shí)
- android設(shè)置adb自帶screenrecord錄屏命令
- Android 修改adb端口的方法
- Android中ADB命令用法大結(jié)局
- Android開啟ADB網(wǎng)絡(luò)調(diào)試方法
- Android ADB簡介、安裝及使用詳解
相關(guān)文章
Android MediaPlayer實(shí)現(xiàn)音樂播放器實(shí)例代碼
這篇文章主要介紹了Android MediaPlayer實(shí)現(xiàn)音樂播放器實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-01-01Android模擬器安裝APP出現(xiàn)INSTALL_FAILED_NO_MATCHING_ABIS錯(cuò)誤解決方案
這篇文章主要介紹了 Android模擬器安裝APP出現(xiàn)INSTALL_FAILED_NO_MATCHING_ABIS錯(cuò)誤解決方案的相關(guān)資料,需要的朋友可以參考下2016-12-12Android SDK Manager解決更新時(shí)的問題 :Failed to fetch URL...
本文主要介紹解決安裝使用SDK Manager更新時(shí)的問題:Failed to fetch URL...,這里提供了詳細(xì)的資料及解決問題辦法,有需要的小伙伴可以參考下2016-09-09Android App中使用LinearLayout進(jìn)行居中布局的實(shí)例講解
這篇文章主要介紹了Android App中使用LinearLayout進(jìn)行居中布局的實(shí)例講解,文中分別介紹了水平居中和垂直居中的相關(guān)線性布局,需要的朋友可以參考下2016-04-04flutter 微信聊天輸入框功能實(shí)現(xiàn)
這篇文章主要介紹了flutter 微信聊天輸入框功能實(shí)現(xiàn),本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03Kotlin語言中CompileSdkVersion與targetSdkVersion的區(qū)別淺析
這篇文章主要介紹了Kotlin語言中CompileSdkVersion和targetSdkVersion有什么區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-02-02Android DrawerLayout布局與NavigationView導(dǎo)航菜單應(yīng)用
這篇文章主要介紹了Android DrawerLayout抽屜布局與NavigationView導(dǎo)航菜單應(yīng)用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-01-01