adb 调试命令

2023-11-14

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.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

adb 调试命令 的相关文章

  • GLSurfaceView onDrawFrame 清除行为

    我在使用 GLSurfaceView 时遇到了不同的行为 据我所知 程序有责任清除每帧的缓冲区 颜色和深度 这意味着 如果我不清除缓冲区 我将获得最后一帧的内容 或双缓冲的前一帧 似乎无论在某些设备上如何 缓冲区都会被清除 我在一些测试设备
  • ViewPager 中的按钮滚动到特定页面

    我的 ViewPager 内的布局之一有一个按钮 R layout add site 我想要点击按钮的选项 它会滚动到我的特定页面 我已经可以选择滑动到特定页面 但我想同时拥有这两个选项 现在我确信有办法做到这一点 但由于某种原因 我无法弄
  • 在 Android 应用程序中动态检查权限

    继我之前的question https stackoverflow com questions 18420994 multiple permissions in androidpermisson关于运行时的 android 权限强制执行 我
  • 如何更改Android应用程序的页面?

    我是安卓新手 我已经设计了由许多页面组成的应用程序 任何人都有源代码或任何可以让我知道如何构建它的东西 例如 当我单击按钮时 我希望它将页面更改为下一页 谢谢你卡 运行通过第一个应用程序教程 https developer android
  • Android模拟器收不到推送通知

    我在谷歌云上使用推送通知 但是由于某种原因我无法在模拟器上接收推送通知 然而 当我在真实设备上测试时 同一个应用程序确实会收到通知 有其他人遇到过这个问题或找到解决方案吗 模拟设备具有网络访问权限 并且与真实设备具有相同的 Android
  • 如何检测 Android 设备是否与 Android Wear 手表配对

    我正在创建一个 Android Wear 应用程序来扩展推送通知 当收到推送通知时 我的应用程序会从服务器下载大约 10 张图像 并在手表上显示这些附加图像 这些图像特定于 Android Wear 应用程序 不会显示在手持设备上 如何判断
  • 如何过滤EditText的输入?

    我想过滤一个的输入EditText 只允许使用数字和字母 首先我使用TextWatcher处理最后一个输入字符 但是当您移动光标或将某些内容粘贴到EditText 这个方法失败了 现在我想知道有没有办法过滤非法输入并反馈给用户 Add In
  • 取消正在执行的 AsyncTask 的理想方法

    我正在后台线程中运行远程音频文件获取和音频文件播放操作AsyncTask A Cancellable显示获取操作运行时间的进度条 我想取消 中止AsyncTask当用户取消 决定反对 操作时运行 处理这种情况的理想方法是什么 刚刚发现Ale
  • Android-如何在指定时间后台下载数据

    我提前很抱歉没有发布任何代码 主要是因为我一生都无法弄清楚我需要如何做我需要做的事情 基本上 在一天中的指定时间间隔 例如下午 5 点 我希望我的应用程序从我的服务器下载一些数据并将其存储在设备上 这是为了减少每次运行应用程序时下载数据对我
  • Phonegap - navigator.app.backHistory() 不适用于 HTML 后退按钮

    在我的应用程序中 我使用phonegap 2 6 对于后退按钮 我使用以下函数 document addEventListener backbutton onBackKeyDown false function onBackKeyDown
  • 为并行的小型已知冻结进程创建匿名 AsyncTask 是一个好习惯吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 例如 您要做一些需要几秒钟的事情 并且不想冻结您的 UI 线程 对吗 您可以使用 AsyncTask 但您不想创建外部 或内部 类来解决小冻结问
  • 如何从代码中检测 Android 设备上的双核 cpu?

    我遇到了一个似乎仅影响双核的问题Android设备运行Android 2 3 姜饼 或更大 我想就这个问题进行一次对话 但仅限于符合该标准的用户 我知道如何检查OS级别 但还没有找到任何可以明确告诉我该设备正在使用多核的信息 有任何想法吗
  • 在 Repository 类中观察 Forever 是一个好习惯吗?数据库+网络分页列表

    我正在按照架构指南构建应用程序 实现了房间数据库缓存 网络 需要从单独的实体获取最新页码 我的型号 Entity tableName top rated movie page public class Top Rated Movies Pa
  • 旋转后,精灵和矩形位置在 Libgdx 中未对齐

    我有以下代码 其中紧密映射的精灵 矩形和多边形在 libgdx 中以相同角度旋转 旋转后矩形与精灵不对齐 虽然精灵在绘制时会旋转 但旋转后坐标和尺寸保持不变 矩形的情况并非如此 请参阅下面的代码和结果图 public void rotate
  • Android Wear Preview 未连接到 Wear Emulator

    我正在尝试为 Google Wear 设置开发环境并遵循 Google 的指示 http developer android com training wearables apps creating html但一旦我设置了端口转发 adb
  • Android:使用 ObjectAnimator 平移具有视图尺寸小数值的视图

    看来旧的视图动画 translate scale等 不再被接受AnimationInflater 至少截至 ICS 而言 我在 4 0 4 中阅读了它的代码 它明确只需要 XML 元素set objectAnimator animator
  • 如何在屏幕上拖动图像

    谁能帮助我如何为可以在屏幕上拖动的图像编写程序 你能给我一个示例代码吗 多谢 我怎样才能为它制作游戏得分 我将感谢您的回复 imageView setOnLongClickListener new OnLongClickListener p
  • android中使用xml的新自定义字体方法

    随着 android 发布 O 预览版 添加了一个新功能 称为xml 中的字体 它很容易实现 但我没有什么疑问 让我首先添加最好的方法1 右键单击资源文件夹并前往新建 gt Android 资源目录 新的出现资源目录窗口 2 在资源类型列表
  • 如何在android中创建nanohttpd服务器?

    其实我也查过一些问题 然后去github上找了一下 但我是新来的 我无法理解这个例子 我想在android中创建http服务器 这样我就可以在PC浏览器中访问它 我有一个类扩展 nanohttpd 的实例 但服务器无法工作 不知道为什么 我
  • 如何解决“布局有超过 80 个视图,对性能不利”?

    我正在做一个有点复杂的布局 只是我无法修复 LINT 指示的错误 黑莓浏览次数超过 80 对性能不利 这是布局

随机推荐

  • SQL server基础

    一 SQL Server数据库的数据类型含义 数据类型含义 int 每个数值占用 4字节 2 147 483 648到2 147 483 647之间的整数 smallint 2个字节 存储范围是 32 768 到 32 767 之间的整数
  • Android Studio 红米3 一直运行或者debug不成功,提示 Failed to establish session 解决方案

    换了一个测试机 红米note3开发 一直run OR debug 失败 下面是提示图 找了半天原因 后面发现原因所在了 一般手机默认用开发工具跑起来 会弹出提示 确认是否安装XXX应用 而红米note3就是个奇葩 在它的开发者选项中 有个
  • MATLAB 多目标规划

    作者简介 人工智能专业本科在读 喜欢计算机与编程 写博客记录自己的学习历程 个人主页 小嗷犬的个人主页 个人网站 小嗷犬的技术小站 个人信条 为天地立心 为生民立命 为往圣继绝学 为万世开太平 本文目录 多目标规划 数学模型 正负偏差变量
  • c/c++不定参数函数

    http plutoblog iteye com blog 1150671 不定参数函数 stdarg h是C语言中C标准函数库的头文件 stdarg是由stdandard 标准 arguments 参数 简化而来 主要目的为让函数能够接收
  • WdatePicker日期控件与UEditor富文本编辑器

    WdatePicker日期控件 My97日期控件 下载 更新日志 My97Datepicker Download Changelog 代码中的生日使用插件
  • libevent服务端,多线程应用

    下面的方式是创建多个event base来处理多线程的 主event base用来处理连接请求 各个子event base用来处理读写和关闭请求 另一种方式是 所有的连接 读写 断开操作 都在一个event base里面 然后当读到数据时
  • cesium加webgl的构思

    1 传递gl var gl viewer scene context gl
  • C++类模板

    1 定义类模板 程序清单类模板 1列出了类模板和成员函数模板 明确这些模板不是类和成员函数定义很重要 因为它们是C 编译指令 说明了如何生成类和成员函数定义 不能将模板成员函数放在独立的实现文件中 由于模板不是函数 它们不能单独编译 模板必
  • #、##、__VA_ARGS__的使用,自由扩展printf 可变参数输出到终端和追加到文件等

    include
  • JAVA后端使用MultipartFile类接收处理上传图片【超级简单】

    本例子再SpringBoot项目上 使用Spring MVC的MultipartFile类再JAVA后端 接收前端上传文件请求 1 MultipartFile 单文件图片上传 例子中接收对象与文件 先保存文件 再把文件保存到对象 再保存对象
  • 前端系列之jQuery(jQuery插件)

    jQuery的插件机制 jQuery主要有两种使用方式 1 在jQuery集合对象上调用方法 2 直接调用jQuery方法 扩展jQuery对象上的方法 jQuery fn extend 扩展jQuery工具方法 jQuery extend
  • docker 安装

    docker ce社区版安装 1 首先卸载以前的docker相关内容 yum remove docker docker client docker client latest docker common docker latest dock
  • 102个java计算机本科毕业设计项目大全(附源码)

    今天给计算机专业大四的同学分享102个毕业设计项目 希望对正在为毕业设计发愁的小伙伴有帮助 一 成品列表 以下所有springboot框架项目的源码博主已经打包好上传到百du云了 在文末处 大家自行获取即可 1 Springboot高校专业
  • Vue项目打包成移动端APP

    Vue项目打包成移动端APP 需要准备的工具 Hbuilder 目录 Vue项目打包成移动端APP 首先打包vue到dist目录 然后再Hbuilder中打开dist目录 然后将dist包含的 web项目 转换为 移动 APP项目 前几步配
  • python解最小二乘(least square)

    给定 A R d n A in R d times n
  • 常用的前端4种请求方式

    一 GET请求 前端页面 第一种情况下 第二种情况下 后端代码 对应第一种传输对象 接参方式 若我们强行给对象添加 RequestBody注解 会发生如下错误 第二种情形下 我们取消用 PathVariable来接收前端发来的ID 情况如下
  • Vue学习

    Vue环境的搭建以及Vue项目的创建与启动 时光独白 AWY的博客 CSDN博客 vue 环境启动
  • Git命令上传项目到远程仓库

    1 为当前目录添加Git本地仓库 git init 实例化仓库 为当前目录添加Git本地仓库 添加成功会看到 git的隐藏目录 2 添加到暂存区 git add 文件名或目录名或 其中 表示当前目录下的全部文件 将指定文件 目录 当前目录全
  • 使用power shell连接远程linux服务器

    打开powershell 输入ssh 用户名 ip地址 比如 ssh root 111 111 111 111 输入yes 提示要输入密码 此时输入服务器密码即可
  • adb 调试命令

    ADB Android Debug Bridge 这里性能调试如下 性能测试需要进行如下设置 如果要让user模式能够进行root操作 需要更改 system core adb adb c 将无用的log信息去掉 define LOG NI