Android ADB 常用命令
Android ADB 常用命令
[TOC]
adb logcat 查看日志
详细内容可参见
官方文档Listing of logcat Command Options
他人整合 http://jiongbull.com/2016/03/17/adb%E5%91%BD%E4%BB%A4/
应用相关
查看应用列表
adb shell pm list package
# has root
adb shell ls /data/data/
adb启动/停止 应用程序
adb shell am start -n [packageName/StartActivity]
adb shell am force-stop [packageName]
端口映射
# 显示所有(PC —> DEVICE)映射的端口连接列表
adb forward —list
# 映射端口连接(PC —> DEVICE)
adb forward (local) (remote)
adb forward tcp:6100 tcp:7100
# 映射端口连接,但是如果local已经映射了就会失败
adb forward —no-rebind (local) (remote)
adb forward --no-rebind tcp:6100 tcp:7100
# 移除指定的映射端口连接
adb forward —remove tcp:6100
# 移除所有的映射端口连接
adb forward —remove-all
# 显示所有来自设备的(DEVICE —> PC)映射的端口连接列表
adb reverse —list
# 反向映射端口连接(DEVICE —> PC)
adb reverse (remote) (local)
adb reverse tcp:7000 tcp:5000
# 如果local已经映射了就会失败
adb reverse —no-rebind (remote) (local)
adb reverse --no-rebind tcp:7000 tcp:5000
# 移除指定的反向映射端口连接
adb reverse —remove tcp:7000
adb reverse —remove-all
应用安装卸载
# 获取apk的packagename 和 classname
aapt d badging <apkfile>
# 安装apk
adb install <apkfile>
# 保留数据和缓存文件,重新安装apk,
adb install -r <apkfile>
# 安装apk到sd卡
adb install -s <apkfile>
# 卸载app
adb uninstall <package>
# 卸载app但保留数据和缓存文件
adb uninstall -k <package>
# 同时安装包多个apk到设备上
adb install-multiple
adb install 参数
-l锁定应用-r替换已存在的应用-t允许安装测试包-s安装到sd卡中-d可以安装低版本安装包-p安装部分应用-g授权所有运行时权限
应用状态查看
# 查看进程列表
adb shell ps
# 查看指定进程状态
adb shell ps -x [PID]
# 查看后台services信息
adb shell service list
# 查看IO内存分区
adb shell cat /proc/iomem
调试查看
列出所有拥有JDWP端口进程的进程号
adb jdwp
文件操作
# 查看所有存储设备名
adb shell ls mnt
# 从本地复制文件到设备
adb push <local> <remote>
# 从设备复制文件到本地
adb pull <remote> <local>
# 列出目录下的文件和文件夹,等同于dos中的dir命令
adb shell ls
# 进入文件夹,等同于dos中的cd 命令
adb shell cd <folder>
# 重命名文件
adb shell rename path/oldfilename path/newfilename
# 删除system/avi.apk
adb shell rm /system/avi.apk
# 删除文件夹及其下面所有文件
adb shell rm -r <folder>
# 移动文件
adb shell mv path/file newpath/file
# 设置文件权限
adb shell chmod 777 [filePath]
# 新建文件夹
adb shell mkdir -d path/foldelname
adb sync
把Android设备上/system和/data目录中与主机目录中不一致的内容同步到主机上。
使用前需要设置主机目录地址的环境变量。
adb sync(未设置环境变量)
D:\Code\Git>adb sync
adb: Product directory not specified; use -p or define ANDROID_PRODUCT_OUT
set ANDROID_PRODUCT_OUT = (PATH)
D:\Code\Git>set ANDROID_PRODUCT_OUT = D:\Data\Android
adb sync(已设置环境变量)
D:\Code\Git>adb sync
syncing /system...
push: D:\Data\Android\system/app/WAPPushManager.apk -> /system/app/WAPPushManager.apk
文本操作
# 查看文件内容
adb shell cat <file>
# 查看文件的头10行
adb shell head -n 10 <file>
# 查看文件的尾10行
adb shell tail -n 10 <file>
root权限操作
- 此操作需要root后的手机才可以执行
# 尝试开启root权限,adb连接会重置 成功会提示 restarting adbd as root
adb root
# 关闭root权限
adb unroot
# 重新挂载系统分区,使系统分区重新可写 成功提示 remount succeeded
adb remount
# 重启设备,进入recovery程序的sideload模式,需要root权限
adb reboot sideload
这样就可以操作Android系统文件
调试环境下的dm-verity检查
解锁 system 分区用这个
关闭在调试环境下的dm-verity检查
adb disable-verity
启用在调试环境下的dm-verity检查
adb enable-verity
系统项目
设备信息
# 完整设备信息
adb shell cat /system/build.prop
# 厂商信息
adb shell cat /system/build.prop | grep ro.product
环境变量
ADB_TRACE 指定打印调试信息,可以设置为以下列表中的值,用逗号隔开
adb、sockets、packets、rwx、usb、sync、sysdeps、transport和jdwp
ANDROID_SERIAL
指定要连接的设备,如果通过-s指定了则该变量不起作用
ANDROID_LOG_TAGS
在使用logcat的情况下,只有这些标签的调试信息才会打印
dumpsys
adb shell dumpsys wifi
adb shell dumpsys cpuinfo
可以dump当前运行的内容包括
| 编号 | 参数 |
|---|---|
| 1 | SurfaceFlinger |
| 2 | accessibility |
| 3 | account |
| 4 | activity |
| 5 | alarm |
| 6 | appwidget |
| 7 | audio |
| 8 | backup |
| 9 | battery |
| 10 | batteryinfo |
| 11 | bluetooth |
| 12 | bluetooth_a2dp |
| 13 | clipboard |
| 14 | connectivity |
| 15 | content |
| 16 | cpuinfo |
| 17 | device_policy |
| 18 | devicestoragemonitor |
| 19 | diskstats |
| 20 | dropbox |
| 21 | entropy |
| 22 | ethernet |
| 23 | hardware |
| 24 | input_method |
| 25 | iphonesubinfo |
| 26 | isms |
| 27 | keybar |
| 28 | location |
| 29 | media.audio_flinger |
| 30 | media.audio_policy |
| 31 | media.camera |
| 32 | media.player |
| 33 | meminfo |
| 34 | mount |
| 35 | netsta |
设备信息
# 查看设备cpu和内存占用情况
adb shell top
# 查看占用内存前6的app
adb shell top -m 6
# 刷新一次内存信息,然后返回
adb shell top -n 1
# MAC地址
adb shell cat /sys/class/net/wlan0/address
# CPU序列号
adb shell cat /proc/cpuinfo
备份
# 把设备的数据归档写入文件中
adb backup
adb backup -f backup.ab -all
-f如果没有这个标识,数据将会写入到当前目录中的backup.ab文件中-apk|-noapk启用|禁用备份.apk文件自己,默认是noapk-obb|-noobb启用|禁用备份应用关联的apk扩展,默认是noobb-shared|-noshared启用|禁用备份设备共享存储/SD中的内容,默认是noshared-all备份所有安装的应用-system|-nosystem决定-all是否包含系统应用,默认是包含系统应用packages...将要备份的应用列表,如果设置了-all或-shared标识,那么这个参数将是可选的
从归档的备份文件中恢复设备内容
adb restore
adb restore backup.ab
设备操作
# 返回所有应该包含在错误报告中的设备信息
adb bugreport
# 重启
adb reboot
# 重启刷机模式
adb reboot bootloader
# 重启到恢复模式
adb reboot recovery
小礼物走一走,来简书关注我
写了 56743 字,被 178 人关注,获得了 301 个喜欢
Android ADB 常用命令的更多相关文章
- Android ADB常用命令使用
Android SDK: adb shell 命令的使用(am.pm.wm.screencap.monkey等) https://blog.csdn.net/xietansheng/article/d ...
- android adb常用命令
android adb命令: adb root --获取root.adb remount --获取文件操作权限(push)adb shell pm list package 获取包名列表com.mqt ...
- 54. Android中adb常用命令及应用常用目录
本文主要介绍adb常用命令及应用常用目录.1.adb常用命令adb devices列出所有连接的android设备.以下命令都是对单个devices而言,如果存在多个devices的话,下面的命令都需 ...
- Android开发系列之adb常用命令
对于Android开发者来说,如果没有adb的帮助,那肯定就跟少了一只手那样别扭.其实笔者在刚刚学习Android开发的时候,也没有意识到adb的重要性.想想只要用IDE画出界面,然后实现后台的逻辑代 ...
- 【android】adb常用命令
ADB常用命令: [adb help]获取帮助 [adb get-serialno]获取设备串号 [adb -s <serialNumber> <command>]给特定设备发 ...
- adb常用命令-android学习第一天
转载出处:http://www.cnblogs.com/xiaoxuetu/ 转载来源:https://www.cnblogs.com/xiaoxuetu/p/3411214.html 平时开发and ...
- adb常用命令(转)
1.Android Debug Bridge -adb常用命令 1.1简介 Android Debug Bridge,我们一般简称为adb,主要存放在sdk安装目录下的platform-tools文件 ...
- adb常用命令教程
1.Android Debug Bridge - adb常用命令 1.1简介 Android Debug Bridge,我们一般简称为adb,主要存放在sdk安装目录下的platform-tools文 ...
- ADB常用命令(一)
转自:https://blog.csdn.net/qq_26552691/article/details/81348222 一.操作前请确认电脑上已配置好ADB环境.可在CMD命令行输入adb,如果出 ...
随机推荐
- 编写linux 命令行实用工具 shell命令
今天我想以带着问题的方法学习新的技术. 问题1: 编写一个命令 语法: command options path expressions
- nprogress进度条和ajax全局事件
nprogress和ajax全局事件 nprogress 官方网站:http://ricostacruz.com/nprogress/ 下载地址:https://github.com/rstacruz ...
- 为什么使用dispatch_sync
1.充分利用多线程的性能: 2.将分散在多线程中的核心操作归并到一个queue执行(通常为一个串行队列). 3.便于在任务线程中进行后继操作. 术语: 任务线程: 同步模块.
- 连接(JOIN)运算
内连接--INNER JOIN 此处用商品表(product)和商店商品表(ShopProduct)测试,外键:product_id select sp.shop_id, sp.shop_name, ...
- url 传参数时出现中文乱码
1.前端通过 url 传递参数,但是参数又有中文,在下一个页面接受参数的时候中文会乱码 解决方案为: 定义和用法 decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解 ...
- javaee字符缓冲输出流
package Zjshuchu; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOExcepti ...
- 【转载】关于DBUtils中QueryRunner的一些解读
前面已经有文章说了DBUtils的一些特性, 这里再来详细说下QueryRunner的一些内部实现, 写的有错误的地方还恳请大家指出. QueryRunner类 QueryRunner中提供对sql语 ...
- salt 批量添加route路由
安装net-tools包 因为其余机器没有网络,使用rpm包安装,并添加缺省路由. [root@web1 base]# tree . ├── add-route.sls ├── files │ └ ...
- Git 基础教程 之 版本回退
不断对文件进行修改,然后不断提交修改到版本库里. 当你觉得文件修改到一定程度时,可以保存一个“快照”,这个“快照”在Git中称为“commit”. 一旦文件被改乱了.误删了,都可以从最近一个“comm ...
- Codeforces 851B/C
B. Arpa and an exam about geometry 传送门:http://codeforces.com/contest/851/problem/B 本题是一个平面几何问题. 平面上有 ...