当前位置: 首页 > news >正文

android13 app的触摸问题定位分析流程

一、知识点
一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。

问题描述:
【操作步骤】
1.在主驾屏状态栏位置处向下滑出负一屏
2.点击副驾屏应用区域
【预期结果】 2.可以打开对应应用
【实际结果】 2.副驾屏区域的所有点击按钮都无效
【问题发生时间】2025/06/06 15:32

二、问题分析

  1. 凡是触摸问题,先在ViewRootImpl.java 里面添加log:
    在这里插入图片描述
    添加log之后,发现deliverInputEvent并没有发送给对应的app window,这就说明input问题出在deliver之前,需要借助dump input命令来分析。

  2. dump命令:
    adb shell dumpsys activity a> activitys.log
    adb shell dumpsys activity > activity.log
    adb shell dumpsys activity -v top > top_activity.log
    adb shell dumpsys window w > ws.log
    adb shell dumpsys SurfaceFlinger > sf.log
    adb shell dumpsys display > display.log
    adb shell dumpsys power > power.log
    adb shell dumpsys input > input.log
    adb shell dumpsys package > package.log
    adb shell screencap /sdcard/1.png
    adb pull /sdcard/1.png

主要是adb shell dumpsys input > input.log进行分析,查看touchableRegion是否正确。
在这里插入图片描述

通过打印堆栈的方式,定位touchableRegion计算逻辑。详细的堆栈信息如下:

06-06 19:33:37.158  1787  1812 W android100: setTouchableRegion, region = SkRegion((-5160,-1600,10200,3200)),mHandle = f9b4570 SystemUIOverlayWindow, frame=[0,0,0,0], touchableRegion=SkRegion((-5160,-1600,10200,3200)), scaleFactor=1.0, transform=null, windowToken=android.os.BinderProxy@d9e02ed, isClone=false,callstack = 
06-06 19:33:37.158  1787  1812 W android100: java.lang.Throwable: xxx
06-06 19:33:37.158  1787  1812 W android100: 	at com.android.server.wm.InputWindowHandleWrapper.setTouchableRegion(InputWindowHandleWrapper.java:142)
06-06 19:33:37.158  1787  1812 W android100

相关文章:

  • Springboot项目集成Ai模型(阿里云百炼-DeepSeek)
  • NLP-数据集
  • 深入剖析AI大模型:大模型时代的 Prompt 工程全解析
  • 【系统架构设计师-2025上半年真题】案例分析-参考答案及部分详解(回忆版)
  • Blazor-Ant Design of Blazor快速开始
  • EXCEL 实现“点击跳转到指定 Sheet”的方法
  • 【Kafka】Kafka从入门到实战:构建高吞吐量分布式消息系统
  • WinUI3开发_使用mica效果
  • Ubuntu 可执行程序自启动方法
  • 【动态规划 数论】P9759 [COCI 2022/2023 #3] Bomboni|普及+
  • Maven 多仓库治理与发布策略深度实践
  • AD学习(3)
  • 教程:PyCharm 中搭建多级隔离的 Poetry 环境(从 Anaconda 到项目专属.venv)
  • pycharm 设置环境出错
  • P3 QT项目----记事本(3.8)
  • 【字节拥抱开源】字节团队开源视频模型 ContentV: 有限算力下的视频生成模型高效训练
  • PostgreSQL 对 IPv6 的支持情况
  • FastAPI核心解密:深入“路径操作”与HTTP方法,构建API的坚实骨架
  • 前端antd,后端fastapi,实现运行系统指令,并打印运行日志
  • Mac如何配置ZSH并使用Oh-my-zsh?让你的终端更加实用、美观
  • 网页设计与制作教程 刘瑞新/广东网络seo推广公司
  • wordpress制作网站/酒店线上推广方案有哪些
  • 手机端网站建站/千锋培训机构官网
  • 网站系统建设与管理/百度惠生活商家入驻
  • wordpress投稿验证码/惠州百度关键词优化
  • 服装网站策划设计/快速整站排名seo教程