`
- 浏览:
79077 次
- 性别:
- 来自:
西安
-
如何抓取 framework input 事件相关 log
[DESCRIPTION]
出现事件输入相关的问题时, 建议先 followhttp://429564140.iteye.com/blog/2355405来检测对应的设备是否有响应输入
如果没有响应输入,则可能是 driver 或者输入设备模组问题,
如果有输入设备响应输入, 则需要打开以下 log 开关,抓取 mobile log 检查 framework 层的对事件的处理
[SOLUTION]
注意:
USER版本只能使用静态方式(修改代码)打开debug开关
ENG版本可以使用动态方式(命令)打开debug开关
App 层 (client) 适用于JB,KK,L,M版本:
动态开启APP层LOG方法如下:
adb shell setprop debug.viewroot.enable 7000
adb shell setprop debug.view.keylog true
adb shell setprop debug.view.touchlog true
adb shell setprop debug.view.motionlog true
adb shell stop
adb shell start
需等待手机软重启后才能生效
静态修改请直接修改DEBUG的值。
开启ViewRootImpl/View/ViewGroup中input event的处理过程的log开关:
frameworks/base/core/java/android/view/viewrootimpl.java 中的 DEBUG_INPUT 开关(设置为 true);
frameworks/base/core/java/android/view/viewgroup.java 中的 DBG_MOTION ,DBG_TOUCH开关
frameworks/base/core/java/android/view/view.java 中的 DBG_MOTION ,DBG_TOUCH开关
frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java 中的 DBG_MOTION 开关
frameworks/base/core/java/android/view/KeyEvent.java 中的 DEBUG 开关
framework(server): 层
动态打开方法 (适用于KK,L,M. 其中KK只适用于eng build, L,M适用于eng build 和user build):
adb shell setprop sys.inputlog.enabled true
adb shell dumpsys input
不用重启手机就可以生效,重启手机后会失效。
静态开启方法:
frameworks/base/services/input/inputReader.cpp (for ICS & JBx ,KK版本)
frameworks/native/services/inputFlinger/inputReader.cpp (for L ,M版本)
找到以下宏定义, 并将其值改为如下
#define DEBUG_RAW_EVENTS 1
#define DEBUG_HACKS 1
#define DEBUG_VIRTUAL_KEYS 1
#define DEBUG_POINTERS 1
#define DEBUG_POINTER_ASSIGNMENT 1
#define DEBUG_GESTURES 1
#define DEBUG_VIBRATOR 1
frameworks/base/services/input/inputDispatcher.cpp (for ICS & JBx ,KK版本)
frameworks/native/services/inputFlinger/inputDispatcher.cpp (for L, M 版本)
找到以下宏或变量定义, 并将其值改为如下
#else // 改 else 分支中的定义
#define DEBUG_INBOUND_EVENT_DETAILS 1
#define DEBUG_OUTBOUND_EVENT_DETAILS 1
#define DEBUG_DISPATCH_CYCLE 1
#define DEBUG_REGISTRATION 1
#define DEBUG_INJECTION 1
#define DEBUG_FOCUS 1
#define DEBUG_APP_SWITCH 1
#define DEBUG_HOVER 1
#endif
bool gInputLogEnabled = true;
frameworks/base/libs/androidfw/inputTransport.cpp (for ICS & JBx 版本)
找到以下宏或变量定义, 并将其值改为如下
#else // 改 else 分支中的定义
#define DEBUG_CHANNEL_MESSAGES 1
#define DEBUG_CHANNEL_LIFECYCLE 1
#define DEBUG_TRANSPORT_ACTIONS 1
#define DEBUG_RESAMPLING 1
#endif
static bool gInputLogEnabled = true;
frameworks/native/libs/input/inputTransport.cpp (for KK,L ,M版本)
找到以下变量定义, 并将其值改为如下
static bool gInputLogEnabled = true;
因为很多input无响应的问题,常常会跟window的focus扯上关系,如果有需要
可以用下面的命令打开ams和wms的LOG。
adb shell dumpsys activity log x on
adb shell dumpsys window -d enable a
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
${lessons} *** Settings *** Library SeleniumLibrary *** Test Cases *** test rf log hello robot framework Baidu search case Open Browser http://www.baidu.com chrome Input text id=kw robot framework ...
This is a lightweight Android log component. 中文介绍 Features [x] Support for all basic data types, arrays、Map、List、Bundle、Intent、Reference、Throwable、Collection [x] Support Json, ...
1. Introduction to Zend Framework 1.1. 概述 1.2. 安装 2. Zend_Acl 2.1. 简介 2.1.1. 关于资源(Resource) 2.1.2. 关于角色(Role) 2.1.3. 创建访问控制列表(ACL) 2.1.4. 注册角色(Role) 2.1.5. 定义访问...
Using Log4J ............................................................................................. 14 II. What’s New in Spring Framework 4.x ......................................................
[Arguments] ${location} ${expected} [Documentation] 判断⽂本正确性 element text should be ${location} ${expected} 循环 if循环 Run Keyword If '${addr.status_code}' == '200' Log 接⼝返回状态码正常 ......
NPM $ npm install @cocreate/input目录如何贡献关于执照 公告内容该库的所有更新都记录在我们的CHANGELOG和发行版中。 您也可以订阅电子邮件以获取发行和重大更改。 路线图如果您对这个项目的未来方
jwx是开源的java公众号开发MVC框架,基于spring配置文件和微信消息或事件注解,通过微信上下文处理一个或多个微信公众号服务请求。目的主要有两个,其一生封装微信请求xml消息为java实体对象,将返回对象转换为xml...
如:解析以下命令:--framework=5 --model=./yolov5l.onnx --input_format=NCHW --input_shape="images:1,3,960,960" --output_type=FP32 --output=./yolov5l_onnx --log=error --precision_mode=allow_fp32_to_fp16...
Using Log4J ............................................................................................. 14 II. What’s New in Spring Framework 4.x ......................................................
com.kingdee.bos.web.components.input com.kingdee.bos.web.components.layout com.kingdee.bos.web.components.layout.html com.kingdee.bos.web.components.layout.html.renderer ...
Dapplo.Windows 该项目包含将Microsoft Windows特定功能添加到您的.NET Framework或dotnet core 3.x应用程序的代码文档可以在找到当前构建状态: 承保范围: Dapplo.Windows: Dapplo.Windows.Clipboard: Dapplo....
将 dinput8.dll 解压到相应的游戏文件夹中。 支持 DirectX 11 和 DirectX 12。 包含的模组 第一人称(RE2、RE3) 免费相机(所有游戏) 场景时间尺度(所有游戏) 手动手电筒(RE2、RE3、RE8) FOV 滑块和暗角...
09. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 10. </listener> 11. 12. <servlet> 13. <servlet-name>spring</servlet-name> 14. <servlet-class>org.spring...
这是一个Spring MVC + Mybatis 的项目,不仅仅只是简单的demo或是增删改查,她将含括很多的方面:尽量抽取basedao,baseService公共部分,做出一个简单的framework,为以后分布式开发提供基础。 ##内容 Spring的国际...
* Log service writes all accesses to your applications in a standard Web log file. The log format follows the W3C Extended Log File Format and is fully customizable. * Powerful URI based redirection...
File input arguments: URL ; Username ; Password < SecureString >. 3. Create a separate workflow file for closing ACME. 3. Add the ACME_URL and ACME_Credential to the Config file. 4. Populate ...
那库 超微型React替代品 ... log ( 'input' , value ) ; this . setState ( { value } ) ; } , addTodo ( ) { const { todos , value } = this . state ; console . log ( 'click' , value ) ; const todo = {
3.12. TV Input Framework 3.12.1. TV App 3.12.1.1. Electronic Program Guide 3.12.1.2. Navigation 3.12.1.3. TV input app linking 3.12.1.4. Time shifting 3.12.1.5. TV recording 3.13. Quick Settings 3.14....
Finally, a fast and linear strategy, which computes the log-likelihood ratio (LLR) between same versus different speakers hypotheses, scores the verification trials. The Identity toolbox provides ...
依存关系.NET Framework 4.0或Mono目录层次结构OiscSim OiscSim.sln-解决方案文件界面-解决方案目录Interface.csproj-项目文件Program.cs-入口点汇编-继续解析和汇编的源代码执行-继续模拟源代码箱子调试-二进制目录...