ADB命令

本文详细介绍ADB(Android Debug Bridge)的功能及用途,ADB作为连接Android设备与PC的重要工具,可用于设备管理、软件安装、系统升级等。文章列举了ADB的常用命令,如设备连接状态查询、应用安装与卸载、文件传输、设备信息导出、应用数据清除及启动等,适用于开发者进行高效设备管理和应用调试。

adb是什么?:adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。
adb有什么用?:借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作!
常用命令:
1.显示当前运行的全部模拟器:adb devices
2.启动ADBadb start-server
3.停止ADB adb kill-server
4.安装应用程序:adb install -r [apk文件]
-l #锁定该程序-r #重新安装该程序,保存数据-s #安装在SD卡内,而不是设备内部存储
例:adb install --r D:\mm.apk
5.卸载应用程序:adb uninstall [packagename]
例:adb uninstall com.tencent.mm
-k #不删除程序运行所产生的数据和缓存目录(如软件的数据库文件)
例:adb uninstall -k com.tencent.mm
6. 讲手机设备中的文件copy到本地计算机:
adb pull 设备目录 本地目录例:adb pull /sdcard/mm.txt D:(讲内存卡根目录的txt文件copy到D盘根目录)
7.将本地计算机的文件copy到手机设备中
adb push 本地目录 手机设备目录例:adb push D:\mm.txt /sdcard
8.查看adb命令帮助信息:adb help
9.截屏例:adb shell screencap -p 截图文件路径
10.查看指定包名应用的数据库储存信息(包括储存的SQL语句)
例:adb shell dumpsys dbinfo[packagename]
11.查看指定的进程或则进程id的内存信息
adb shell dumpsys meminfo[packagename/pid]可以查看进程当前的内存情况
例:adb shell dumpsys meminfo com.tencent.mm
12.查看指定包名应用的详细信息(相当于AndroidMainfest.xml中内容)
adb shell dumpsys [packagename]例:adb shell dumpsys com.tencent.mm
13.查看当前应用的activity信息adb shell dumpsys activity top查看bug报告:
adb bugreport
14.列出手机装的所有apk包名
adb shell pm list packages
系统应用:adb shell pm list packages -s
第三方应用:adb shell pm list packages -3
使用grep过滤 :adb shell pm list packages | grep qq
15.清除应用缓存信息:
adb shell pm clear [packagename]
16.通过adb启动应用程序页面
adb shell am start -n[包名+activity名]
例:adb shell am start -n com.tencent.mm/.ui.SplashAcitvity
强制停止应用有些时候应用卡死了,需要强制停止,则执行以下命令:adb shell am force-stop // 如:adb shell am force-stop cn.androidstar.demo
17、记录无线通讯日志:
一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:
adb shell
logcat -b radio
18、获取设备的ID和序列号: adb get-product
adb get-serialno
19、访问数据库SQLite3adb shell
sqlite3#cd system/sd/data //进入系统内指定文件夹
20.导出设备信息
adb get-serialno > 序列号.txt
adb shell cat /sys/class/net/wlan0/address > MAC地址.txt
adb shell getprop ro.product.model > 设备型号.txt
adb shell getprop ro.build.version.release> 系统版本.txt
adb shell pm list packages -s > 系统应用的所有包名.txt
adb shell pm list packages -3 > 第三方应用包名.txt
adb shell wm size > 屏幕分辨率.txt
adb shell wm density > 屏幕密度.txt
adb shell cat /proc/cpuinfo > CPU信息.txt
adb shell pm list permissions -f > 权限.txt
adb shell pm list users -f > 用户.txt
21.重启adb reboot
还有2个非常有用的命令:
1.备份adb backup
[-f ] [-apk|-noapk][-shared|-noshared] [-all] [-system|nosystem] [<packages…>]
例:adb backup -f mm.ab -noapk -noshared -nosystemcom.tencent.mm你可以使用的最基本的命令是很简单的
adb backup -all
它将使用默认方式备份应用和设备的数据(不包含apk)到当前目录下并保存为文件backup.ab
※这个命令有可能不对每个设置都有效,如果你出现像这种 "adb: cannot open file ./backup.ab"的错误,使用 adb backup -all -fC:\backup.ab来代替,其中路径C:\可根据喜好替换
对各个参数的解释:
-f
用这个来选择备份文件存储在哪里,例如-f /backup/mybackup.ab将会使文件存储在根磁盘(Windows的C盘等等)下一个名为backup的文件夹里,并且备份文件名为mybackup.ab
-apk|-noapk
这个决定是否在备份里包含apk或者仅仅只备份应用数据,个人推荐使用-apk以免有的应用在应用市场找不到,如果不使用则默认的是-noapk
-shared|-noshared
这个参数用于决定是否备份设备共享的SD card内容,默认是-noshare,主要包括内部存储中的音乐、图片和视频,因此为保险起见,建议加上-share
-all
这个参数是一种简单地表达“所有应用”的说法,package参数可以选择备份单独的应用,如果你不是备份某个应用,使用-all备份整个系统
-system|-nosystem
这个参数决定-all标签是否包含系统应用,默认的是-system,根据情况可选择是否用-nosystem
<packages…>
如果你知道应用安装包的名称(例如com.google.android.apps.plus),就可以使用该参数备份特定应用。
3.当决定如何执行备份后,输入你喜欢的命令,在华为G700上测试,使用命令
adb backup -apk -all
2.使用run-as在非root情况获取沙盒数据(前提是开启debuggable模式)

shell@android:/data $ run-as com.your.packagerun-as com.your.packageshell@android:/data/data/com.your.package $ cd /data/data/com.your.packagecd /data/data/com.your.packageshell@android:/data/data/com.your.package $ lslscachedatabaseslibshared_prefsshell@android:/data/data/com.your.package $ cd databasescd databasesshell@android:/data/data/com.your.package/databases $ lsyourpackagename.db$ cat preferences.db > /mnt/sdcard/yourpackagename.db
将你要访问的package目录下的db文件拷贝到sdcard中,这样就可以正常访问了!对文件进行增删
法1:adb shell “run-aspackage.name chmod 666 /data/data/package.name/databases/file”
adb pull /data/data/package.name/databases/file .
adb shell “run-aspackage.name chmod 600 /data/data/package.name/databases/file”
adb exec-out run-as package.name cat databases/file > file
法2:> adb shellshell $ run-as com.example.packageshell $ chmod 666 databases/fileshell $ exit
'run-as’shell $ cp /data/data/package.name/databases/file /sdcard/shell $ run-as com.example.packageshell $ chmod 600 databases/file> adb pull /sdcard/file .
原文链接:adb命令整理大全(最详细篇幅)
https://www.52pojie.cn/thread-683104-1-1.html

<think> 我们被要求介绍ADB命令的相关信息和使用方法。根据用户提供的引用,我们知道ADB是Android Debug Bridge的缩写,是用于与Android设备交互的工具。我们将结合引用内容,并补充一些常见的ADB命令和使用场景。 由于用户特别要求使用LaTeX格式的数学表达式(虽然ADB命令介绍中可能较少涉及数学公式,但如果有数学表达需要,我们会按照要求使用$...$或$$...$$),但考虑到ADB命令介绍主要是文本和命令示例,所以我们将重点放在命令介绍上,如果有需要计算或参数说明的地方再使用数学表达式。 另外,我们需要在回答中自然添加引用标识(引用用户提供的两个参考段落)。 最后,按照要求生成相关问题。 下面开始组织回答: </think>### ADB命令介绍及使用方法 ADB(Android Debug Bridge)是Android开发者工具包中的命令行工具,用于与Android设备进行交互,支持应用安装、文件传输、设备调试等操作[^1]。以下为核心功能及使用指南: --- ### 一、基础环境配置 1. **安装步骤** - 下载ADB工具包(含`adb.exe`、`AdbWinApi.dll`等)[^1] - 配置环境变量:将工具包路径添加到系统`PATH` - 验证安装: ```bash adb version # 显示版本号(如1.0.32) ``` 2. **设备连接** ```bash adb devices # 列出已连接设备 adb connect 192.168.1.100:5555 # 通过WiFi连接 ``` --- ### 二、核心功能命令 #### 1. 应用管理 | 命令 | 作用 | |-------------------------------|--------------------------| | `adb install app.apk` | 安装APK | | `adb uninstall com.example.app` | 卸载应用 | | `adb shell pm list packages` | 列出所有应用包名 | #### 2. 文件操作 ```bash adb push local.txt /sdcard/ # 电脑→设备 adb pull /sdcard/remote.txt . # 设备→电脑 ``` #### 3. 设备控制 ```bash adb reboot # 重启设备 adb shell input keyevent 26 # 触发电源键(26为键值) ``` #### 4. 屏幕操作 ```bash adb shell screencap /sdcard/screen.png # 截屏 adb shell screenrecord /sdcard/video.mp4 --size 720x1280 # 录屏[^2] ``` --- ### 三、高级调试技巧 1. **进程监控** ```bash adb shell ps | grep chrome # 过滤特定进程 adb shell top -n 1 # 查看实时CPU占用[^2] ``` 2. **日志分析** ```bash adb logcat -v time > log.txt # 导出带时间戳的日志 adb logcat *:E # 仅显示错误日志 ``` 3. **Shell命令直通** ```bash adb shell "dumpsys battery | grep level" # 获取电池电量 ``` --- ### 四、性能优化参数 对于需要精确控制的操作(如触控事件注入),需满足时序约束: $$ t_{event\_delay} \leq 10ms $$ 可通过调整采样率实现: ```bash adb shell settings put global animator_duration_scale 0 # 关闭动画提升响应 ``` --- ### 五、兼容性说明 | Android版本 | 特性支持 | |-------------|--------------------------| | ≤4.3 | 需开启USB调试模式 | | ≥4.4 | 支持`screenrecord`[^2] | | ≥11 | 强制Scoped Storage权限 | > **注**:部分命令需Root权限(如`adb root`) ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值