adb 常用命令
adb logcat 命令格式 : adb logcat [选项] [过滤项], 其中 选项 和 过滤项 在 中括号 [] 中, 说明这是可选的;
选项解析 :
-- "-s"选项 : 设置输出日志的标签, 只显示该标签的日志;
--"-f"选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;
--"-r"选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;
--"-n"选项 : 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样;
--"-v"选项 : 设置日志的输出格式, 注意只能设置一项;
--"-c"选项 : 清空所有的日志缓存信息;
--"-d"选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;
--"-t"选项 : 输出最近的几行日志, 输出完退出, 不阻塞;
--"-g"选项 : 查看日志缓冲区信息;
--"-b"选项 : 加载一个日志缓冲区, 默认是 main, 下面详解;
--"-B"选项 : 以二进制形式输出日志;
输出指定标签内容 :
-- "-s"选项 : 设置默认的过滤器, 如 我们想要输出 "System.out" 标签的信息, 就可以使用adb logcat -s System.out 命令;
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端的桥梁,可以让用户在电脑上对手机进行全面的操作
启动/停止 Server
一般来说,下面两个命令基本不会用到,因为只要设备连接正确,会自动启动 adb server 的,不过大家也需要知道这俩命令:
1.启动 adb server :
adb start-server
2.停止 adb server :
adb kill-server
3. 安装 adb install [-l][-r] [-s] <file>
('-l' means forward-lock the app) #锁定该程序
('-r' means reinstall the app, keeping its data) #重新安装该程序,保存数据
('-s' means install on SD card instead of internal storage) #安装在SD卡内,而不是设备内部存储
4.直接卸载:
adb uninstall <package>
// 如:adb uninstall com.stormzhang.demo
卸载 app 但保留数据和缓存文件:
adb uninstall -k com.stormzhang.demo
5.获取 MAC 地址
$adb shell cat /sys/class/net/wlan0/address
bc:f5:ac:f9:f7:c8
6.重启
adb reboot
7.获取序列号
$adb get-serialno
02ae0c1021089daf
8.获取 MAC 地址
$adb shell cat /sys/class/net/wlan0/address
bc:f5:ac:f9:f7:c8
9.查看设备型号
$adb shell getprop ro.product.model
Nexus 5
10.查看 Android 系统版本
$adb shell getprop ro.build.version.release
7.0.1
11.查看屏幕分辨率
$adb shell wm size
Physical size: 1080×1920
12.查看屏幕密度
$adb shell wm density
Physical density: 480
关于 ADB 的命令有太多,以上只列了一些我比较常用的命令,关于更多的命令可以见这里:
https://github.com/mzlogin/awesome-adb
13. 显示系统中全部Android平台:
android list targets
14. 显示系统中全部AVD(模拟器):
android list avd
15. 创建AVD(模拟器):
android create avd --name 名称 --target 平台编号
16. 启动模拟器:
emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800)
17. 删除AVD(模拟器):
android delete avd --name 名称
18. 创建SDCard:
mksdcard 1024M ~/名称.img
19. AVD(模拟器)所在位置:
Linux(~/.android/avd) Windows(C:\Documents and Settings\Administrator.android\avd)
20. 启动DDMS:
ddms
21. 显示当前运行的全部模拟器:
adb devices
22. 对某一模拟器执行命令:
abd -s 模拟器编号 命令
23. 安装应用程序:
adb install -r 应用程序.apk
24. 获取模拟器中的文件:
adb pull <remote> <local>
25. 向模拟器中写文件:
adb push <local> <remote>
26. 进入模拟器的shell模式:
adb shell
27. 启动SDK,文档,实例下载管理器:
android
28. 缷载apk包:
adb shell
cd data/app
rm apk包
exit
adb uninstall apk包的主包名
adb install -r apk包
29. 查看adb命令帮助信息:
adb help
30. 在命令行中查看LOG信息:
adb logcat -s 标签名
31. adb shell后面跟的命令主要来自:
源码\system\core\toolbox目录和源码\frameworks\base\cmds目录。
32. 删除系统应用:
adb remount (重新挂载系统分区,使系统分区重新可写)。
adb shell
cd system/app
rm *.apk
33. 获取管理员权限:
adb root
34. 启动Activity:
adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。
35、发布端口:
你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:
adb forward tcp:5555 tcp:8000
36、复制文件:
你可向一个设备或从一个设备中复制文件,
复制一个文件或目录到设备或模拟器上:
adb push <source> <destination></destination></source>
如:adb push test.txt /tmp/test.txt
从设备或模拟器上复制一个文件或目录:
adb pull <source> <destination></destination></source>
如:adb pull /addroid/lib/libwebcore.so .
37、搜索模拟器/设备的实例:
取得当前运行的模拟器/设备的实例的列表及每个实例的状态:
adb devices
38、查看bug报告:
adb bugreport
39、记录无线通讯日志:
一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:
adb shell
logcat -b radio
40、获取设备的ID和序列号:
adb get-product
adb get-serialno
41、访问数据库SQLite3
adb shell
sqlite3
【操作命令】
- 查看设备
adb devices
这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示
!Android系列教程(六) adb操作命令详解](http://cimg2.163.com/catchimg/20091105/9033955_2.png)
2.安装软件
adb install
adb install <apk文件路径> :这个命令将指定的apk文件安装到设备上
Android系列教程(六) adb操作命令详解-
卸载软件
adb uninstall <软件名>
adb uninstall -k <软件名>
如果加 -k 参数,为卸载软件但是保留配置和缓存文件. -
进入设备或模拟器的shell:
adb shell
通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux的命令,另外如果只想执行一条shell命令,可以采用以下的方式:
adb shell [command]
如:adb shell dmesg会打印出内核的调试信息。
- 发布端口
可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:
adb forward tcp:5555 tcp:8000
-
从电脑上发送文件到设备
adb push <本地路径> <远程路径>
用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机) -
从设备上下载文件到电脑
adb pull <远程路径> <本地路径>
用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑
8、查看bug报告
adb bugreport
9、记录无线通讯日志
一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:
adb shell
logcat -b radio
10、获取设备的ID和序列号
adb get-product
adb get-serialno
adb shell
sqlite3
Android系列教程(六) adb操作命令详解