網(wǎng)站首頁 編程語言 正文
adb是什么
adb的全稱為Android Debug Bridge,就是起到調(diào)試橋的作用。它就是一個命令行窗口,用于通過電腦端與模擬器或者是設(shè)備之間的交互。
adb有什么用
借助adb工具,我們可以管理設(shè)備或手機模擬器的狀態(tài)。還可以進(jìn)行很多手機操作,如安裝軟件、系統(tǒng)升級、運行shell命令等等。其實簡而言說,adb就是連接Android手機與PC端的橋梁,可以讓用戶在電腦上對手機進(jìn)行全面的操作。
adb常用命令
查看當(dāng)前連接的設(shè)備
adb devices
多個設(shè)備操作,帶上設(shè)備號
adb -s 設(shè)備號 其他命令
查看頂部Activity
adb shell dumpsys activity | findstr "mFocusedActivity"
查看日志
adb logcat //查看所有日志
安裝軟件
adb install xxx.apk
adb install -r xxx.apk //覆蓋安裝,保留數(shù)據(jù)和緩存文件,重新安裝,升級
adb install -r -t xxx.apk
adb shell pm install +apk存放路徑
//安裝應(yīng)用(目標(biāo) apk 存放于PC端,用 adb install 安裝
//目標(biāo) apk 存放于Android設(shè)備上,用 pm install 安裝)
卸載
adb uninstall xxx.app
adb uninstall -k xxx.app //保留數(shù)據(jù)卸載,卸載app但保留數(shù)據(jù)和緩存文件
卸載WPS
push
adb push 本地文件名 手機端路徑
pull
adb pull 手機端路徑 本地文件路徑
查看所有APP
adb shell pm list packages
adb shell pm list packages -f //還能顯示出路徑
截屏
adb shell screencap /sdcard/screen.png
錄屏
adb shell screenrecord /sdcard/demo.mp4
從電腦路徑copy文件到手機
adb push crime.apk /sdcard/data/data
清空App數(shù)據(jù)
adb shell pm clear com.example.packagename
向屏幕上輸出一些信息
adb shell input text "insert%stext%shere" //%s表示空格,不能輸出中文
模擬觸屏
adb shell input tap 500 1450 //在屏幕上(500,1450)的坐標(biāo)點上進(jìn)行一次點擊
adb shell input keyevent + 按鍵事件 // 發(fā)送按鍵事件 例如:adb shell input keyevent KEYCODE_HOME 模擬按下Home鍵
模擬滑動屏幕事件
adb shell input swipe 100 500 100 1450 100 //從屏幕坐標(biāo)(100,500)開始,滑動到(100,1450)結(jié)束,整個過程耗時100ms
查看當(dāng)前內(nèi)存占用
adb shell cat /proc/meminfo
查看CPU和內(nèi)存占用
adb shell top
查看耗電情況
//保存到xxx.txt
adb shell dumpsys batterystats > xxx.txt
查看系統(tǒng)設(shè)置的鬧鐘
adb shell dumpsys alarm
文件操作
adb shell ls [-al] //文件和文件夾的詳細(xì)信息
adb shell cd <folder> //進(jìn)入文件目錄
adb shell cat <filename> //查看文件
adb shell du -sh * //查看目錄下文件大小
Root判斷
#代表已經(jīng)root了,$代表沒有root權(quán)限
獲取Root權(quán)限
adb root
---su root
連接設(shè)備
adb connect + [設(shè)備ip] 10.0.0.4:5555
重啟設(shè)備
adb reboot
獲取設(shè)備連接狀態(tài)
adb get-state //device:設(shè)備正常連接 , offline:連接出現(xiàn)異常,設(shè)備無響應(yīng) , unknown:沒有連接設(shè)備
查看設(shè)備的后臺 進(jìn)程
adb shell ps
啟動一個服務(wù)
adb shell am startservice
發(fā)送一個廣播
adb shell am broadcast
啟動一個Activity
adb shell am start +包名/.Activity (要啟動的Activity)
//啟動一個 Activity (-s先停止目標(biāo)應(yīng)用,再啟動 -w 等待應(yīng)用完成啟動 -a 啟動默認(rèn)瀏覽器打開一個網(wǎng)頁
//adb shell am start -a android.intent.action.VIEW -d http://testerhome.com
adb shell dumpsys activity [<packagename>] //查看運行的activity
adb shell dumpsys activity services [<packagename>] //查看運行的service
列出package的位置
adb shell pm path+包名 //列出對應(yīng)包名.apk 位置
列出設(shè)備上輸入法
adb shell ime list -s
獲取系統(tǒng)版本
adb shell getprop ro.build.version.release
獲取系統(tǒng)api版本
adb shell getprop ro.build.version.sdk
獲取相關(guān)制造商信息
adb shell getprop | grep "model\|version.sdk\|manufacture
r\|hardware\|platform\|revision\|serialno\|product.name\|brand"
獲取系統(tǒng)相關(guān)信息
adb shell "cat /system/build.prop | grep "product""
獲取型號
adb -d shell getprop ro.product.model
廠商
adb -d shell getprop ro.product.brand
序列號
有兩種方式
adb get-serialno
adb shell getprop ro.serialno
獲取MAC地址
adb shell cat /sys/class/net/wlan0/address
獲取內(nèi)存信息
adb shell cat /proc/meminfo
存儲信息
adb shell df
adb shell df /data //內(nèi)部存儲信息
屏幕分辨率
adb shell "dumpsys window | grep mUnrestrictedScreen"
多個設(shè)備選擇一個
adb -s 192.168.101.37:5555 shell + 操作
查看進(jìn)程
adb shell procrank
關(guān)閉或者殺掉進(jìn)程
adb shell kill 366
清除應(yīng)用數(shù)據(jù)
adb shell pm clear com.baidu
CP復(fù)制文件
//adb shell 進(jìn)入Android Linux命令中
cp -f system/app/Music/Music.apk /sdcard/Music.apk
刪除文件
//adb shell 進(jìn)入Android Linux命令中
rm -r /mnt/sdcard/a.mp3
//刪除文件夾的時候需要加上-r參數(shù)
cd dir
rm * 刪除dir中所有文件
cat 查看文件
cat /sdcard/test.txt
查看進(jìn)程的具體信息
//例如:1460是要查看的進(jìn)程的PID
cat /proc/1460/maps //查看進(jìn)程的文件結(jié)構(gòu)
cat /proc/1460/status //查看進(jìn)程的狀態(tài)
findstr和grep
//1)cmd下搜索包名為com.android.launcher3的進(jìn)程
adb shell ps|findstr /i “com.android.launcher3”
//2)shell下面搜索
//先使用adb shell進(jìn)去,然后使用grep命令過濾
ps | grep “com.linux.test”
原文鏈接:https://www.cnblogs.com/wml-it/p/15643266.html
相關(guān)推薦
- 2023-11-22 Linux fatal: unable to access ‘https://github xxxx
- 2022-07-11 lambda表達(dá)式和Stream
- 2022-07-25 Android實現(xiàn)Tab切換界面功能詳解_Android
- 2022-08-07 Android?AccessibilityService?事件分發(fā)原理分析總結(jié)_Android
- 2022-06-08 記錄一次奇怪的springboot cache redis緩存報錯解決
- 2022-12-06 react?fiber執(zhí)行原理示例解析_React
- 2023-07-24 uniapp開發(fā) h5和小程序 拖動懸浮按鈕
- 2023-04-07 C#?async/await任務(wù)超時處理的實現(xiàn)_C#教程
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支