Android U
文章平均质量分 72
基于Android U的源码
今天也是星期五
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
InputDispatcher调试日志开关
需要注意的是,"adb shell setprop log.tag.InputDispatcherOutboundEvent DEBUG" (requires restart)命令后面的requires restart表示需要重启进程(不是重启设备,重启之后设置的这些值会失效)。我们平时分析logcat日志时几乎没有InputDispatcher相关的日志,如果遇到事件分发相关的问题,就很难定位问题的原因。实际上是通过设置日志等级来打开对应的log的,其他模块,依次类推。原创 2024-12-25 14:45:46 · 613 阅读 · 0 评论 -
Activity的finish()流程
在Android中,我们可以通过调用finish()方法来结束一个Activity,调用这个方法后,Activity对应的生命周期方法会被调用、所在的Task也会发生变化。本文主要通过分析Activity的finish流程来了解Activity的结束时生命周期及Task变化,代码基于Android 14。原创 2024-12-12 19:48:37 · 2140 阅读 · 0 评论 -
Input系统之IMS的启动流程
InputManagerService(下面简称IMS)在输入事件的获取和分发中,起着重要的作用。它是Android系统中的一个关键服务,主要有以下几个功能:1、输入事件处理:从各种输入设备(如触摸屏、键盘、鼠标等)接收输入事件。然后对接收到的输入事件进行处理,包括事件的转换、标准化等。2、输入事件分发:将处理后的输入事件分发给适当的应用程序或窗口。确保事件能够传递到当前焦点窗口或应用程序。3、输入设备管理:管理系统中的输入设备,包括设备的初始化、状态监控和驱动接口。原创 2024-08-14 17:24:38 · 1521 阅读 · 0 评论 -
input系统之InputReader
可以看出InputReader处理事件的流程为:(1)调用EventHub的getEvents方法获取输入事件(2)调用processEventsLocked()方法处理获取到的输入事件(3)调用flush()方法将已经封装好的EventEntry事件交给给InputDispatcher分发。原创 2024-08-14 17:30:11 · 1340 阅读 · 0 评论 -
Android .kl按键布局文件
一个硬件按键的处理流程大致为:当用户按下或释放一个键时,键盘硬件会生成一个扫描码scan code,然后操作系统读取这个scan code,并将scan code扫描码映射到虚拟键码key code,最后操作系统根据映射的keycode生成输入事件,并将这些事件传递给应用程序或系统服务,进而执行相应的操作。scan code和key code通过Key layout file 映射,Key layout file一般用于定义物理键盘上各个键的功能和映射关系。原创 2024-08-09 16:49:46 · 1586 阅读 · 0 评论 -
cts问题
环境配置主要是adb和aapt,确保这两个正常使用,上面图片中问题原因就是aapt版本不是最新的,需要使用最新的aapt。(1)usb调试需要打开,需要使用user版本测试(部分功能可以使用usedebug版本)。下载对应android版本的测试包,解压后使用。可以使用which aapt查看当前aapt。,可通过浏览器查看测试结果,log放在。(3)语言设置为English。(2)关闭屏保和休眠。5.出现aapt异常。原创 2024-07-11 14:56:52 · 335 阅读 · 0 评论 -
GSI问题
可以运行run cts-on-gsi -m CtsLibcoreTestCases来测试是否有fail项,也可以通过run cts-on-gsi -m CtsLibcoreTestCases -t libcore.java.text.DateFormatTest#testParse_lenient_en命令来运行某一条case。run cts-on-gsi -m CtsLibcoreTestCases有两条fail项。下载GSI之后,里面会有system.img,需要把这个img刷入设备。原创 2024-07-11 14:49:53 · 674 阅读 · 0 评论 -
遥控器Tab键切换时按键音流程
2.调用mView.dispatchKeyEvent()方法将event事件传递给mView(Activity的顶层DecordView对象)处理,如果view层级结构中任何一个view处理了该事件,返回FINISH_HANDLED表示该事件已被处理。主要流程:首先计算焦点转换的方向,然后在控件树中找到当前获取焦点的view,根据当前获取焦点的view,在direction方向上找到下一个获取焦点的view,最后移除旧焦点,建立新焦点,并播放按键音。首先看下该方法的调用堆栈。5.Tab键和快捷键的处理。原创 2024-07-11 14:43:49 · 494 阅读 · 0 评论 -
解决Android U上应用无法安装问题
最近在做Android U的升级项目,有一款跑分软件A1 SD Bench在U以前的平台可以安装,但是在U上无法安装,显示:This app isn\'t compatible with your TV.方案一、修改应用的targetSdkVersion>23。原创 2024-03-25 09:59:56 · 7497 阅读 · 0 评论
分享