adb 调试命令

本文介绍如何使用ADB进行Android设备的性能调试,包括进入性能模式、GPU调试、查看滚屏数等,并提供了详细的命令示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ADB:Android Debug Bridge。

这里性能调试如下:

性能测试需要进行如下设置:

  • 如果要让user模式能够进行root操作,需要更改(system/core/adb/adb.c)
  • 将无用的log信息去掉,#define LOG_NIDEBUG 0
  • 如果调试Web的用户体验,需要wifi已经能够正常工作

以下命令将设备进入性能模式

将DDR进入性能模式

adb shell echo 400000000 > /sys/class/kgsl/kgsl-3d0/gpuclk
adb shell echo performance > /sys/class/kgsl/kgsl-3d0/devfreq/governor
adb shell echo performance >/sys/class/devfreq/qcom,cpubw.30/governor(不同的设备可能会有差异)

读取交互模式cpu频率管理器参数

adb shell cat /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
adb shell cat /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
adb shell cat /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
adb shell cat /sys/devices/system/cpu/cpufreq/interactive/target_loads
adb shell cat /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
adb shell cat /sys/devices/system/cpu/cpufreq/interactive/boost
adb shell cat /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
adb shell cat /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
adb shell cat /sys/devices/system/cpu/cpufreq/interactive/timer_rate
adb shell cat /sys/devices/system/cpu/cpufreq/interactive/timer_slack

禁止内核thermal

adb shell
echo 0 > /sys/module/msm_thermal/core_control/enabled

通过无线adb调试

1. Connect a USB and verify that Wi-Fi is working on the device.
– adb tcpip 5555
– adb shell netcfg
– <output> wlan0 UP 10.42.118.17/22 0x00001043 f0:25:b7:f5:02:81
– adb connect 10.42.118.17
# In Wi-Fi settings, click the Wi-Fi network
name to get the IP.
2. Remove the USB and try adb devices.
3. To end the session:
– adb disconnect

GPU性能调试

将GPU进入性能模式

adb shell echo 0 > /sys/class/kgsl/kgsl-3d0/bus_split
adb shell echo performance > /sys/class/kgsl/kgsl-3d0/devfreq/governor
adb shell echo 1 > /sys/class/kgsl/kgsl-3d0/force_bus_on
adb shell echo 1 > /sys/class/kgsl/kgsl-3d0/force_rail_on
adb shell echo 1 > /sys/class/kgsl/kgsl-3d0/force_clk_on
adb shell echo 1000000 > /sys/class/kgsl/kgsl-3d0/idle_timer

通过adb查看每秒滚屏数

1. adb pull /system/build.prop
2. Enable the properties debug.gr.calcfps = 1 and debug.gr.calcfps.period = 1 in the build.prop
file and save the file.
adb push build.prop /system/
adb shell chmod 0644 /system/build.prop
adb shell sync
adb shell reboot
3. Enable the FPS calculation (and display the distribution of frame arrival times) by setting
debug.gr.calcfps = 2.
4. Grep for FPS in logcat.

检查设备layer的组成和层数

1. Get the adb shell dumpsys SurfaceFlinger log.
2. Search for lines similar to those highlighted in the following log:
numHwLayers=4, flags=00000000
type | handle | hints | flags | tr | blend | format | source crop | frame name
------------+----------+----------+----------+----+-------+----------+---------------------------+---------
HWC | b71a1610 | 00000000 | 00000004 | 00 | 00100 | 00000002 | [ 160, 25, 480, 480] | [ 0, 25, 320, 480]
com.android.systemui.ImageWallpaper

HWC – MDP composition
GLES – GPU composition
During transition, the log sometimes shows HWC and GLES, which is Mixed mode composition.
<think>好的,我现在需要帮助用户解决通过TTL串口在安卓设备上开启ADB调试的问题。用户之前已经得到了一份详细的操作指南,现在他们再次询问具体的命令,并且提到了站内的引用内容。我需要结合之前的回答和引用资料来给出准确的步骤。首先,回顾用户的历史对话,之前的指南涵盖了硬件连接、终端配置、内核修改、ADB激活等步骤。用户现在可能希望得到一个更简洁的命令列表,特别是针对Rockchip平台,比如RK3568和RK3229,因为引用[1]和[2]提到了这些型号。用户提供的引用[1]提到RK3568开发板在Android11下的串口通信设置,包括ADB命令行管理。引用[2]则涉及RK3229调试串口改为普通串口的步骤,这可能与修改设备树(dts)有关。需要确认这些信息是否对当前问题有帮助。用户的问题焦点是具体的命令,所以需要整理出通过TTL串口进入系统后需要执行的命令。之前的回答中提到了在UBoot中设置启动参数、修改系统属性、启动adbd等步骤,这些都需要以命令形式呈现。需要注意的是,不同平台可能有不同的命令,比如Rockchip的特殊参数adb_enable=1。引用[3]在之前的回答中提到过RK平台的特殊参数,所以需要确保这些命令被正确引用。 另外,用户可能遇到权限问题,如adbd无法以root运行,需要修改adbd权限或重新编译,这在之前的回答和引用[2]中都有涉及。需要将这些步骤包含在内,并添加相应的引用标记。 还需要验证ADB状态的命令,如getprop,确保用户能够确认ADB是否成功开启。引用[1]提到的ADB命令行管理可能与此相关,需要正确引用。最后,生成相关问题时要考虑用户可能遇到的后续问题,如root权限获取、设备未授权错误、永久开启ADB的方法,以及Rockchip平台的具体配置,如dts修改,引用[2]中的内容可以作为相关问题的参考。 需要确保所有命令正确无误,并且引用标记正确对应到参考资料。例如,涉及Rockchip平台的特殊步骤应引用[1]和[2],而系统属性修改和adbd启动可能引用之前的回答中的内容。总结步骤:硬件连接确认、进入UBoot设置参数、修改系统属性、启动adbd、验证状态,处理常见错误。每个步骤对应的命令需要清晰列出,并适当添加引用。</think>### 通过TTL串口开启Android设备ADB调试命令指南 #### 一、UBoot阶段配置 1. **中断启动流程** 设备通电后立即通过TTL终端发送`CTRL+C`或`空格键`进入UBoot命令行(适用于Rockchip平台)[^1] 2. **修改启动参数** ```bash => setenv bootargs androidboot.selinux=permissive androidboot.dm_verity=disabled => setenv adb_enable 1 # Rockchip平台专用参数[^1] => saveenv ``` #### 二、Android系统层操作 1. **激活USB调试模式** 进入Android shell后执行: ```bash # 启用USB调试接口 $ echo 1 > /sys/class/android_usb/android0/enable # 设置永久生效标志 $ setprop persist.service.adb.enable 1 # 强制配置USB模式为ADB $ setprop sys.usb.config adb ``` 2. **重启ADB守护进程** ```bash # 带root权限启动adbd $ stop adbd && start adbd --root_seclabel=u:r:su:s0 ``` #### 三、验证与调试 1. **检查配置状态** ```bash $ getprop | grep -E 'usb|adb' # 预期输出示例: [persist.service.adb.enable]: [1] [sys.usb.config]: [adb] ``` 2. **内核日志监控** ```bash $ dmesg | grep -i 'usb\|adb' # 观察USB控制器初始化状态[^1] ``` #### 四、特殊错误处理 当出现`adbd cannot run as root`错误时: ```bash # 修改adbd权限属性 $ chmod 6755 /system/bin/adbd # 或重新挂载系统分区 $ mount -o remount,rw /system ``` #### 五、永久生效配置 ```bash # 修改系统镜像中的default.prop $ sed -i 's/ro.debuggable=0/ro.debuggable=1/' /system/build.prop # 禁用SELinux限制 $ setenforce 0 ``` $$ \begin{aligned} &\text{配置生效流程:}\\ &\text{UBoot参数} \xrightarrow{\text{setenv}} \text{内核启动参数} \xrightarrow{\text{prop设置}} \text{ADB服务启动} \end{aligned} $$
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shichaog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值