参考:https://developer.android.com/studio/command-line/adb?hl=zh-cn
adb(Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。该工具作为一个客户端-服务器程序,包括三个组件:
- 客户端,该组件发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端调用客户端。
- 后台程序,该组件在设备上运行命令。后台程序在每个模拟器或设备实例上作为后台进程运行。
- 服务器,该组件管理客户端和后台程序之间的通信。服务器在开发计算机上作为后台进程运行。
在设备上启动adb
通过 USB 连接
要在通过 USB 连接的设备上使用 adb,您必须在设备系统设置中启用 USB debugging(位于 Developer options下)。
在运行 Android 4.2 及更高版本的设备上,Developer options 屏幕默认情况下处于隐藏状态。如需将其显示出来,请转到 Settings > About phone 并点按 Build number 七次。返回上一屏幕,在底部可以找到 Developer options。
通过WLAN连接
#设置目标设备以侦听端口5555上的tcp/ip连接
adb tcpip 5555
#保证android设备和主机在同一局域网下
adb connect device_ip_address
#确保设备已经连接
adb devices
#如果连接丢失
adb kill-server
#从头操作
对指定设备操作
#如果多个模拟器/设备实例正在运行,在发出 adb 命令时您必须指定一个目标实例。
adb -s serial_number command
#例如
adb -s emulator-5556 install helloWorld.apk
修改文件权限
方法一:
adb remount
adb shell
chmod 777 system
方法二:
1、adb shell
2、mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
或,
adb shell mount -o remount rw /system
此时,对大部分设备而言均可解决。
方法三:
可先把文件PUSH到/DATA目录,然后到adb shell下面,使用su命令进行搬运到最终地址。
1、adb shell
2、su
3、cat /data/test.so > /system/lib/test.so
启动App
#启动app
adb shell am start -n app包名/app主活动类名
文件操作
#androdi复制文件或目录(及其子目录)到本地
adb pull remote local
#将本地文件复制到模拟器
adb push local remote
软件包管理器(Packages Manager
#查看安装app信息
adb shell pm list packages
#卸载
adb shell pm uninstall com.example.MyApp
查看手机分辨率
adb shell wm size
adb shell dumpsys window displays