詳解android adb常見用法
ADB,即 Android Debug Bridge,是 Android 開發(fā)/測試人員不可替代的強大工具。
adb與應用的連接
1.啟動/停止
啟動 adb server 命令:
adb start-server
(一般無需手動執(zhí)行此命令,在運行 adb 命令時若發(fā)現(xiàn) adb server 沒有啟動會自動調(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.查看已連接設備
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 為 顯示屏編號,init 是初始分辨率和屏幕密度,app 的高度比 init 里的要小,表示屏幕底部有虛擬按鍵
adb與應用交互
1.查看前臺 Activity
adb shell dumpsys activity | findstr "mFocusedActivity"
獲取完整路徑:
adb shell dumpsys window | findstr mCurrentFocus
2.查看正在運行的Services
adb shell dumpsys activity services [packagename]
3查看應用詳細信息
adb shell dumpsys package [packagename]
command | 用途 |
---|---|
start [options] | 啟動 Activity |
startservice [options] | 啟動 Service |
broadcast [options] | 發(fā)送廣播 |
force-stop | 停止進程 |
用于決定intent對象的選項如下:
參數(shù) | 作用 |
---|---|
-a | 指定action,比如 android.intent.action.VIEW |
-c | 指定 category,比如 android.intent.category.APP_CONTACTS |
-n | 指定完整 component 名,用于明確指定啟動哪個 Activity,如 com.example.app/.ExampleActivity |
-W | 輸出完整的打開應用過程 |
am(Activity Manager)命令來啟動一個APP、啟動Activity、啟動廣播和服務等
4.啟動應用
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.啟動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.強制停止應用
adb shell am force-stop com.qihoo360.mobilesafe
9.查看應用安裝路徑
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.查看手機應用
adb shell pm list packages
可在 adb shell pm list packages 的基礎上可以加一些參數(shù)進行過濾查看不同的列表,支持的過濾參數(shù)如下:
參數(shù) | 顯示列表 |
---|---|
無 | 所有應用 |
-f | 顯示應用關聯(lián)的apk文件 |
-d | 只顯示disabled的應用 |
-e | 只顯示enabled的應用 |
-s | 只顯示系統(tǒng)應用 |
-3 | 只顯示第三方應用 |
-i | 顯示應用的 installer |
-u | 包含已卸載應用 |
舉例:
1.打印第三方應用的列表
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.包名含有某字符的應用
C:\WINDOWS\system32>adb shell pm list packages tencent package:com.tencent.mm package:com.tencent.qqlivei18n package:com.tencent.mobileqq
當然也可以用管道符來過濾:
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)絡端口
adb -P <port> start-server
文件管理
1.復制設備里的文件到電腦
adb pull <設備里的文件路徑> [電腦上的目錄]
其中 電腦上的目錄 參數(shù)可以省略,默認復制到當前目錄。
2.復制電腦里的文件到設備
adb push <電腦上的文件路徑> <設備里的目錄>
事件輸入
1.模擬按鍵操作
adb shell input keyevent < keycode >
不同的 keycode 能實現(xiàn)不同的功能,列表如下:
keycode: 含義 3 HOME 鍵 4 返回鍵 5 打開撥號應用 6 掛斷電話 24 增加音量 25 降低音量 26 電源鍵 27 拍照(需要在相機應用里) 64 打開瀏覽器 82 菜單鍵 85 播放/暫停 86 停止播放 87 播放下一首 88 播放上一首 122 移動光標到行首或列表頂部 123 移動光標到行末或列表底部 126 恢復播放 127 暫停播放 164 靜音 176 打開系統(tǒng)設置 187 切換應用 207 打開聯(lián)系人 208 打開日歷 209 打開音樂 210 打開計算器 220 降低屏幕亮度 221 提高屏幕亮度 223 系統(tǒng)休眠 224 點亮屏幕 231 打開語音助手 276 如果沒有 wakelock 則讓系統(tǒng)休眠
亮屏熄屏:
adb shell input keyevent 26
2.滑動屏幕
adb shell input swipe x1 y1 x2 y2
參數(shù)分別表示:起始點x坐標 起始點y坐標 結束點x坐標 結束點y坐標
3.輸入文本
adb shell input text 123
4.模擬屏幕點擊事件
adb shell input tap 500 500
事件輸出
1.日志信息:
使用adb logcat可以顯示日志信息
2.dumpsys:
dumpsys命令可以提供非常多的系統(tǒng)信息。可以通過adb shell service list來查看dumpsys能提供查詢信息的服務。
列舉幾個:
查看電池信息
adb shell dumpsys battery
查看鬧鐘信息
adb shell dumpsys alarm
3.截屏
adb shell screencap /imgpath/screen.png
4.錄屏
adb shell screenrecord /imgpath/demo.mp4
imgpath可以根據(jù)自己相冊里面的照片路徑信息獲取
以上就是詳解android adb常見用法的詳細內(nèi)容,更多關于android adb用法的資料請關注腳本之家其它相關文章!
- Android設備adb連接后顯示device unauthorized解決方案
- 基于adbkit的android設備管理(精簡版stf)
- android中的adb命令學習
- 超詳細的Android開發(fā)調(diào)試工具ADB命令及安裝介紹
- android中adb命令最全總結
- adb通過wifi連接android設備流程解析
- Android adb命令中pm工具的作用及用法說明
- Android adb安裝apk時提示Invalid APK file的問題
- Android user版通過adb_enable開啟adb 調(diào)試 不提示對話框的流程分析
- Android PC端用ADB抓取指定應用日志實現(xiàn)步驟
- Android 實現(xiàn)永久性開啟adb 的root權限
- 關于ADB的Android Debug Bridge(安卓調(diào)試橋)那些事
- Android客制化adb shell進去后顯示shell@xxx的標識
- android設置adb自帶screenrecord錄屏命令
- Android 修改adb端口的方法
- Android中ADB命令用法大結局
- Android開啟ADB網(wǎng)絡調(diào)試方法
- Android ADB簡介、安裝及使用詳解
相關文章
Android MediaPlayer實現(xiàn)音樂播放器實例代碼
這篇文章主要介紹了Android MediaPlayer實現(xiàn)音樂播放器實例代碼的相關資料,需要的朋友可以參考下2017-01-01Android模擬器安裝APP出現(xiàn)INSTALL_FAILED_NO_MATCHING_ABIS錯誤解決方案
這篇文章主要介紹了 Android模擬器安裝APP出現(xiàn)INSTALL_FAILED_NO_MATCHING_ABIS錯誤解決方案的相關資料,需要的朋友可以參考下2016-12-12Android SDK Manager解決更新時的問題 :Failed to fetch URL...
本文主要介紹解決安裝使用SDK Manager更新時的問題:Failed to fetch URL...,這里提供了詳細的資料及解決問題辦法,有需要的小伙伴可以參考下2016-09-09Android App中使用LinearLayout進行居中布局的實例講解
這篇文章主要介紹了Android App中使用LinearLayout進行居中布局的實例講解,文中分別介紹了水平居中和垂直居中的相關線性布局,需要的朋友可以參考下2016-04-04Kotlin語言中CompileSdkVersion與targetSdkVersion的區(qū)別淺析
這篇文章主要介紹了Kotlin語言中CompileSdkVersion和targetSdkVersion有什么區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2023-02-02Android DrawerLayout布局與NavigationView導航菜單應用
這篇文章主要介紹了Android DrawerLayout抽屜布局與NavigationView導航菜單應用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2023-01-01