android sdk 深入理解adb

adb
服务器-客户端程序包括3部分
1.客户端(client) 在开发机器上运行,可通过adb命令行呼叫客户端,ADT插件和DDMS同样需要adb客户端
 
2.服务端(server) 在开发机器上作为后台进程运行(adb.exe打开你的任务管理器查看进程),用于客户端和adb daemon的互动交流。
 
3.后台程序daemon 运行在虚拟机或设备上
 
开始adb client的时候,检查server是否运行,否则打开服务,TCP是5037,用于接受adb client发来的命令。所有的client使用5037端口与服务端互动。
 
服务端建立与模拟器或设备的连接。检查在5555到5582之间的奇数(odd-numbered)端口号的模拟器/设备,找到后,建立与此端口的连接。然后模拟器/设备获得一系列连续的端口,偶数端口号(even-numbered)用于console控制台连接,奇数号用于adb连接。
 
Emulator 1, console: 5554
Emulator 1, adb: 5555
Emulator 2, console: 5556
Emulator 2, adb: 5557
and so on...
 
通过客户端可以控制任何的模拟器/设备
 
 
adb 相关命令
基本命令行
adb [-d|-e|-s <serialNumber>] <command>
adb get-state 获取当前状态
adb start-server 检查adb服务进程是否开启
adb kill-server 终止adb服务进程
 
当前设备
adb devices
从设备“拉”文件到电脑
adb pull <remote> <local>
从电脑“推”文件到设备
adb push <local> <remote>
安装apk
adb install <path_to_apk>
指定设备
adb -s <serialNumber> <command> 
UNIX shell脚本
打开activity
adb shell am start -a android.intent.action.VIEW
卸载app
adb shell pm uninstall com.example.MyApp
打开路径
adb shell ls /system/bin
打开调试
adb logcat
原文地址:https://www.cnblogs.com/sdlwlxf/p/4444144.html