ADB命令记录
文章目录
整理记录一些使用过的ADB相关的命令。
调试相关
常用命令
adb devices # 查看连接到的设备
adb -s [serial] shell # 连接多个设备时,指定某单个设备
adb kill-server # 干掉服务
adb devices # 重启服务
stop adbd
start adbd # 重启adbd
Wifi远程调试
root设备设置
adb root adb remount adb shell busybox vi system/build.prop # 添加命令 service.adb.tcp.port=5555 # 设备重启 reboot
系统启动脚本
在init.rc中设置service.adb.tcp.port=5555
权限授予
# 查看包的权限
adb shell pdumpsys package <PackageName> | grep permission
# 权限授予
adb shell pm grant <PackageName> android.permission.CAMERA
硬件相关
设置系统时间
Linux时间区分系统时间和硬件时间,date命令只操作系统时间,hwclock操作硬件时间。
// 系统时间
// 系统开机之后读取硬件时间作为系统时间,之后系统时间独立运行,在系统关机之后将系统时间写回RTC。
date -s 20161231.235959 // 失败
date -s 123123592016.59 // 失败
toybox date 123123592016.59 // 成功
// 硬件时间
hwclock -r # 读取硬件时间
hwclock -w # 将系统时钟同步到硬件时间
USB接线识别
- 在Ubuntu下,识别android设备
sudo apt-get install android-tools-adb # 安装 adb 工具
mkdir -p ~/.android
vi ~/.android/adb_usb.ini # 添加一行设备标识 0x2207
sudo vi /etc/udev/rules.d/51-android.rules
# 加入udev规则,添加以下一行:
# SUBSYSTEM=="usb", ATTR{idVendor}=="2207", MODE="0666"
# 刷新规则,重新拔插数据线,或者运行以下命令
sudo udevadm control --reload-rules
sudo udevadm trigger
# 重启
sudo adb kill-server
adb start-server
网卡控制
ifconfig eth0 up # 打开以太网卡
ifconfig wlan0 down # 关闭无线网卡
USB声卡
cat /proc/asound/cards # 查看声卡设备
其他
磁盘挂载
mount -o remount,rw /system
mount -o rw,remount /system # RK系列等Android设备上一条无效,得反过来
流量统计
在Android系统中,”/proc/net/xt_qtaguid/stats”这个文件里储存着各个应用的流量信息。
// 获取userId
adb shell dumpsys package [PkgName] | findstr userId
// 查询流量
adb shell cat /proc/net/xt_qtaguid/stats | findstr [userId]
// 合并两条命令
for /f "tokens=2 delims== " %%i in ('adb shell "dumpsys package com.tencent.mobileqq | grep userId"') do adb shell cat /proc/net/xt_qtaguid/stats ^| grep %%i
- 查询结果中,第六列和第八列分别对应接收的数据(rx_bytes)和发送的数据(rx_bytes),相加就是消耗的流量。
- 统计一段时间内的流量消耗可以在开始和结束时分别获取,结果相减。