Android adb 命令使用总结
adb原理
参考文档
How ADB works http://www.cnblogs.com/ifantastic/p/5186362.html
http://blog.csdn.net/stpeace/article/details/24933813
Adb是Android调试桥的缩写。在看Adb命令前,先弄清楚原理,一图顶千言。
总结下:无论是执行adb命令和还是调用ddmlib库都是作为adb client连接到pc上的adb server服务(默认端口为5037)。adb server服务再连接到各个设备上运行着的adbd服务(默认监听端口为5555),建立连接后adb server负责在adb client 和adbd之间转发信息。
方式一是直接通过TCP连接设备。方式二是通过USB连接设备。
Adb命令
help 帮助信息
version 版本信息
服务启停
adb start-server 启动adb server
adb kill-server 停止adb server
设备相关
adb devices 显示所有设备(格式为 串号和状态)
- -l 显示qulifiers (如: product:MT7-CL00 model:HUAWEI_MT7_CL00 device:hwmt7)
adb wait-for-device device online前一直阻塞,可以作为不需要系统完全启动就能执行的命令的前缀使用:如 adb wait-for-device shell getprop
adb get-state
adb get-serialno
adb get-devpath
adb status-window 持续显示设备状态(有变化时更新)
adb connect <host>[:<port>] 通过TCP网络连接设备,即上图中的方式一。(默认端口:5555)
adb disconnect <host>[:<port>] 断开通过网络连接的设备
adb root 以root权限重启设备上的adbd服务
adb usb 重启adbd服务,监听USB
adb tcpip <port> 重启adbd服务,监听指定的TCP端口
adb指定目标设备选项(可以没有)
-a 所有设备
-d USB连接的设备
-e 模拟器设备
-s <Serial-No> 按串号指定设备
-p <product name or path> 不清楚
-H <server_host> 指定连接的adb server主机
-P <server_port> 指定连接的adb server端口
adb remout 重新以读写模式挂载/system 和 /vendor 分区
adb reboot 重启设备
- bootloader 重启进入bootloader模式
- recovery 重启并进入recovery模式
文件传送
adb pull <path-dev> <path-pc> 把设备中的文件或目录拷贝到PC端
- -p 显示进度
adb push <path-pc> <path-dev> 把PC端文件或目录拷贝到设备
- -p 显示进度
- -a 拷贝时间戳和模式
adb sync [<directory>] 把PC端改动的内容拷贝到设备(默认为/system,/vendor,/data)
- -l 只列出,不拷贝
adb install <apkfile-pc> 安装应用
- -r 替换
- -s 安装到SD卡
可能的错误信息:

adb uninstall <package-name> 移除应用
- -k 保留数据和缓存目录
调用Android shell命令
adb shell 进入shell环境
adb shell [shell-cmd] 执行shell命令
android shell命令总结:http://www.cnblogs.com/pixy/p/4741532.html
网络相关
adb forward <spec-local> <spec-remote> socket定向绑定:
spec格式为:
tcp:<port>
localabstract:<unix domain socket name>
localreserved:<unix domain socket name>
localfilesystem:<unix domain socket name>
dev:<character device name>
jdwp:<process pid> (remote only)
--no-rebind 如果local端已经绑定则失败
adb forward --remove <spec-local> 移除指定的定向绑定
adb forward --remove-all
adb reverse --list 显示所有从设备发出的反向socket连接
adb reverse <spec-remote> <spec-local> 反向socket绑定
spec格式为:
tcp:<port>
localabstract:<unix domain socket name>
localreserved:<unix domain socket name>
localfilesystem:<unix domain socket name>
--norebind <spec-remote>已经绑定则失败
adb reverse --remove <spec-remote> 移除反向绑定
adb reverse --remove-all 移除所有反向绑定
adb ppp <tty> [parm] 通过USB运行PPP
logcat
adb logcat [option] [FILTER-SPECS] 输出日志数据。可以重定向到文件:adb logcat>d:\logcat.txt
options:
|
-s |
沉默默认的过滤器,以下两种方式等效 |
|
-v <format> |
指定输出格式,默认为 |
|
-f |
Log to |
|
-c |
clear(flush) 所有log,然后退出 |
|
-d |
dump log,退出 |
|
-g |
获取log循环缓冲大小,退出 |
|
-b |
请求其他循环缓冲,main(default), |
|
-B |
output |
FILTER-SPECS: tagName:[PRIORITY]...
PRIORITY:
|
V |
Verbose |
|
D |
Debug |
|
I |
Info |
|
W |
Warn |
|
E |
Error |
|
F |
Fatal |
|
S |
Silent (supress all output) |
tagName和priority都可以用*作为通配符, logcat命令中必须使用-s选项或加*:s才能过滤掉无关的log
调试相关
adb bugreport 显示dumpsys, dumppstate, logcat信息
adb jdwp 显示有效地jdwp (java debug wire protocol) 进程
其他
adb emu <emu_command> 模拟器控制台命令
adb backup 备份系统数据到文件
- -f <file> 指定文件名(省确为backup.ab)
- -apk | -noapk 是否备份.apk(默认为-noapk)
- -obb | -noobb 是否备份apk扩展文件.obb,默认为noobb
- -shared | -noshared 是否备份Shared Storeage,SD 卡内容(默认为noshared)
- -all 备份所有安装的应用
- -system|-nosystem -all是否包括系统应用,(默认为system)
- [<packages...>] 要备份的应用列表。如果有-all或-shared,可以没有此项。
adb restore <file> 从备份文件恢复数据。
adb disable-verity
adb keygen <file> 生成密钥对,<file>文件中存放私钥,<file>.pub中存放公钥。已存在文件会被覆盖。
Android adb 命令使用总结的更多相关文章
- Android ADB命令教程二——ADB命令详解
Android ADB命令教程二——ADB命令详解 转载▼ 原文链接:http://www.tbk.ren/article/249.html 我们使用 adb -h 来看看,adb命令里面 ...
- MacBook下配置android adb命令使用环境
想在Mac下使用android adb命令,常用的两种配置方式: 在MacBook下配置adb命令环境(方法一) 1.下载并安装IDE (android studio) 人性化的安装,直接点击下一步下 ...
- 【转】android adb命令
1. 显示系统中全部Android平台: android list targets 2. 显示系统中全部AVD(模拟器): android list avd 3. 创建AVD(模拟器): andr ...
- Android adb 命令图解
做了这么长时间的开发与管理,在命令上总是自见则过,往往却忽视了在其命令上的分享过程,所以现在稍微有点时间就把 其命令的相关操作来简单的扫盲一番吧,也系统通过这种方式去授之以渔而不是鱼,好了,我以图解的 ...
- Android ADB命令详解
adb的全称为Android Debug Bridge.是android司机经常用到的工具 . 你能在本篇文章中学到什么? adb基本指令 Shell AM&PM adb模拟用户事件 logc ...
- android adb命令 抓取系统各种 log
getLog.bat: adb root adb remount adb wait-for-device adb logcat -v time > C:\log.txt 在Android中不同的 ...
- Android ADB命令?这一次我再也不死记了!【简单说】
https://www.jianshu.com/p/56fd03f1aaae adb的全称为Android Debug Bridge.是android司机经常用到的工具.但是问题是那么多命令写代码已经 ...
- Android adb命令,linux中各种命令
常用的ADB命令 1. 显示系统中全部Android平台: android list targets 2. 显示系统中全部AVD(模拟器): android list avd 3. 创建AVD(模拟器 ...
- mac终端配置Android ADB命令
不得不说mac是一款开发利器,不仅可以开发ios,而且对于Android开发也是不错的选择,下面我就对mac配置adb命令,进行简要的说明.下面我将一下mac环境下的配置步骤:1.在自己的目录(hom ...
随机推荐
- [Android Pro] Android签名与认证详细分析之一(CERT.RSA剖析)
转载自:http://www.thinksaas.cn/group/topic/335450/ 一.Android签名概述 我们已经知道的是:Android对每一个Apk文件都会进行签名,在Apk文件 ...
- 谈JavaScript代码封装
前言 也算老生常谈的问题了,再深入搞一搞怎么玩儿封装,如果看到这篇文章的你,正好你也是追求完美的代码洁癖狂者,那么这篇文章相信非常适合你. 举一个例子,编写一个Person类,具有name和birth ...
- BaseActivity与BaseFragment的封装
这篇博客主要是从BaseActivity与BaseFragment的封装开始,总结我们在实战开发中关于Fragment的注意事项以及心得体会. 先看以下效果图: 这里模拟的是用户登录模块,你可能会说, ...
- Material Design入门(三)
本文主要包括 CollapsingToolbarLayout实现滚动动画效果 ViewPager+tabLayout实现左右类Tab效果 控件介绍 这次需要用到得新控件比较多,主要有以下几个: Coo ...
- js 带省略号的分页源码及应用实例
一.js:pagination.js /*--说明分页div id为:changpage*/var eachPageDataNum = 10;//每页显示记录数var nowPage = 1;//当前 ...
- 【ACM - 搜索模板】
[广搜模板] #include <iostream> #include <stdio.h> #include <string.h> #include <que ...
- [转]C# Winform ListView使用
以下内容均来自网上,个人收集整理,具体出处也难确认了,就没写出处了: 一.基本使用: listView.View = View.Details;//设置视图 listView.SmallImageLi ...
- Hark的数据结构与算法练习之基数排序
算法说明 基数排序是基于计数排序的,所以看这个之前要先看一下计数排序对于理解基数排序是很有帮助的(发现计数和基数的音节几乎一致啊).这个我有写,请点击. OK,现在你肯定已经熟悉了计数排序,那么我就来 ...
- Web安全测试之XSS
Web安全测试之XSS XSS 全称(Cross Site Scripting) 跨站脚本攻击, 是Web程序中最常见的漏洞.指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此 ...
- HTML-a
链接的其他使用 电话 <a href="tel:(phonenumber)">Tel</a> 短信 <a href="sms:(phonen ...