Tinkerboard2/adb

From wiki
Jump to: navigation, search


adb调试

前言

Android 的命令行调试工具ADB(Android Debug Bridge)可以完成多种功能,可以跟踪系统日志,上传下载文件,安装应用等。

准备:

安装adb

windows下使用

在windows下使用需要先安装RK USB驱动,下载adb软件,解压进入adb目录,将adb目录栏改为cmd,如下图,启动终端

Adb2.png


使用下面三个命令获取板子的读写权限

adb shell setprop persist.sys.root_access 3
adb root
adb remount

ubuntu下安装

输入如下命令安装 ADB 工具:

sudo apt-get install android-tools-adb

加入设备标识:

mkdir -p ~/.android
vi ~/.android/adb_usb.ini
# 添加以下一行
0x2207

加入 udev 规则:

sudo vi /etc/udev/rules.d/51-android.rules
# 添加以下一行:
SUBSYSTEM=="usb", ATTR{idVendor}=="2207", MODE="0666"

重新插拔 USB 线,或运行以下命令,让 udev 规则生效:

sudo udevadm control --reload-rules
sudo udevadm trigger

重新启动 ADB 服务器:

sudo adb kill-server
adb start-server

adb连接

有线连接

用type-c数据线将tinker board 2s的type-c口与电脑相连

Adb1.png

网络连接

查看tinker board 2s开发板 IP 地址

adb connect + IP #这里IP表示开发板的ip地址
# 让设备端的 adbd 重启,并在 TCP 端口 5555 处监听
adb tcpip 5555
# 此时可以断开 USB 连接
# 远程连接设备,设备的 IP 地址是 192.168.1.100
adb connect 192.168.1.100:5555
# 断开连接
adb disconnect 192.168.1.100:5555

adb使用

打开命令行窗口

adb shell

连接管理

多设备区分使用序列号

export ANDROID_SERIAL=<设备序列号>
adb shell ls

连接指定设备

adb -s 序列号 shell

adb 命令合集

常用命令用于速查

查看连接设备:                           adb devices  #注意:返回的信息中offline 表示设备未连接成功或无响应,device 设备已连接
获取设备序列号:                         adb get-serialno 
指定连接设备使用命令:                   adb -s cf27456f shell  #注意这里的cf27456f是设备序列号,可通过adb devices查询对应序列号
查看设备型号:                           adb shell getprop ro.product.model 
查看bug 报告:                           adb bugreport 
查看adb 版本信息:                       adb version 
查看屏幕分辨率:                         adb shell wm size
查看屏幕密度:                           adb shell wm density 
安装应用:                               adb install test.apk 
安装apk 到sd 卡:                        adb install -r demo.apk 
卸载应用,需要指定包:                   adb uninstall cn.com.test.mobile 
卸载app 但保留数据和缓存文件:           adb uninstall -k cn.com.test.mobile 
列出安装的所有app 的包名:               adb shell pm list packages 
列出系统应用的所有包名:                 adb shell pm list packages -s 
列出除了系统应用的第三方应用包名:       adb shell pm list packages -3 
windows列出装带有的test的包:            adb shell pm list packages | find "test" 
linux 列出手机装带有的test的包:         adb shell pm list packages | grep ‘test’ 
清除应用数据与缓存:                     adb shell pm clear cn.com.test.mobile 
启动应用:                               adb shell am start -ncn.com.test.mobile/.ui.SplashActivity 
包信息:                                 adb shell dumpsys package 
内存使用情况:                           adb shell dumpsys meminfo 
强制停止应用:                           adb shell am force-stop cn.com.test.mobile 
查看日志:                               adb logcat 
清除log 缓存:                           adb logcat -c 
重启:                                   adb reboot 
获取序列号:                             adb get-serialno 
查看Android 系统版本:                   adb shell getprop ro.build.version.release 
查看占用内存前10 的app:                 adb shell top -s 10 
从本地复制文件到设备:                   adb push <local> <remote> 
从设备复制文件到本地:                   adb pull <remote> <local> 
查看bug 报告:                           adb bugreport 
查看ADB 帮助:                           adb help 
获取MAC 地址, 根据系统版本参数可能不同: adb shell cat /sys/class/net/wlan0/address 
查看Android 系统版本:                   adb shell getprop ro.build.version.release 
查看正在运行的Services:                 adb shell dumpsys activity services [<packagename>] 
* 注意:<packagename> 参数不是必须的,指定<packagename> 表示查看与某个包名相关的Services,不指定表示查看所有Services。
* 注意:<packagename> 不一定要给出完整的包名,比如运行adb shell dumpsys activity services org.zhihu,那么包名org.zhihu.demo1、org.zhihu.demo2 和org.zhihu 等相关的Services 都会列出来。