Android框架
沉默的过客
以匠心铸非凡
展开
-
Android Input Framework(一)
1 InputFramework概述Android输入系统在整个图形系统框架中扮演了很重要的角色,主要负责用户消息的管理,具体职责包括以下几个方面: 1、 从底层驱动中获取各种原始的用户消息,包括按键、触摸屏、鼠标、滚迹球等用户事件消息。2、 最原始消息进行预处理,包括两个方面:一方面,将消息转化成系统可以处理的消息事件;另一方面,处理一些特殊的事件,比如HOME、MENU、POW转载 2017-12-09 11:56:46 · 2021 阅读 · 0 评论 -
【BUG分析】手机启动时,adb打开较晚
Android版本:7.1.2内核版本:3.18要求:手机默认不开adb,只有手动打开时,以后每次开机才会打开adb,并且adb在system server启动之前打开。控制adb是否打开和USB功能的主要是两个属性:persist.sys.usb.config 和 sys.usb.config。sys.usb.config是一个临时的属性,每次关机后,都不存在了。但是,该属性主管usb功能,包括...原创 2018-03-18 14:01:24 · 1608 阅读 · 0 评论 -
【BUG分析】手机插着USB时手动重启,USB功能选择菜单点不动
Bug复现条件:手机插着USB到PC上时重启,USB功能选择菜单点不动Android版本:7.1.2内核版本:3.18首先,查看USB选择菜单是如何建立的。代码路径 :android-7.1.2_r1\packages\apps\Settings\src\com\android\settings\deviceinfo\UsbModeChooserActivity.java 有一个广播接收器,代码如...原创 2018-03-18 12:39:08 · 879 阅读 · 0 评论 -
[FAQ04776]各个版本如何判断是否打开adb端口【google原生代码】
1. 在android 4.0 之前,这个设置是在frameworks/base/service/..../SystemServer.java 里面设置会根据system property 的persist.service.adb.enable 来设置。您可以看到类似如代码:[java] view plain copy// make sure the ADB_ENABLED setting val...转载 2018-02-24 21:19:41 · 1013 阅读 · 0 评论 -
Android中USB相关的文件
a) frameworks/base/core/java/android/hardware/usb/*Provides support to communicate with USB hardware peripherals that are connected to Android-powered devices.https://developer.android.google.cn/refer...原创 2018-02-24 21:13:52 · 559 阅读 · 0 评论 -
Android O 之一:Android Treble 计划
Android O 前期预研之前一直传言android O的推出会包含有两部分的主要功能:谷歌打算彻底解决Android版本碎片化的问题,会在Android O上推出一个新的框架设计来解决这个这个升级问题。推出Android for Automotive ,正式进军汽车车载市场。而这两部分对我们的工作影响会比较大,第一部分可能会导致我司现存的一堆现有的工作会在以后可能不存在了。因为整个系统升级项目...转载 2018-02-23 20:22:33 · 727 阅读 · 0 评论 -
Android 7.0 虚拟按键(NavigationBar)源码分析 (二)之 点击事件的实现流程
转自:http://blog.csdn.net/kuaiguixs/article/details/78330982第二部分: Let's go!!!【点击事件的实现流程】1、初始化 虚拟按键点击效果的实现和实体按键相似,也是通过上报一个keyCode值,来判断哪个按钮被点击。不同的是,实体按键的keyCode值是硬件驱动层传递到上层的。而虚拟按键的keyCode值是应用层自己定义的。 ...转载 2018-02-11 20:59:16 · 818 阅读 · 0 评论 -
Android 7.0 虚拟按键(NavigationBar)源码分析(一) 之 View的创建流程
转自: http://blog.csdn.net/kuaiguixs/article/details/78291695最近有个需求是修改虚拟按键的单击和长按效果。所以研究了下Android关于虚拟按键的实现流程。好记性不如烂笔头,记录如下。 首先,几个重要的类://实现 单个虚拟按键的 自定义ImageView frameworks/base/packages/SystemUI/src...转载 2018-02-11 20:57:58 · 4320 阅读 · 0 评论 -
android 4.4 电池电量管理底层分析(C\C++层)
参考文献:http://blog.csdn.net/wlwl0071986/article/details/38778897 简介:Linux电池驱动用于和PMIC交互、负责监听电池产生的相关事件,例如低电报警、电量发生变化、高温报警、USB插拔等等。Android电池服务,用来监听内核上报的电池事件,并将最新的电池数据上报给系统,系统收到新数据后会去更新电池显示状态、剩余电量等信息。如果收到过温...转载 2018-02-11 20:56:07 · 1141 阅读 · 0 评论 -
android 4.4 电池电量显示分析(低电量提醒与电池图标)Java 层
最近工作接触到这么的东西,这是我对整个电池管理方面Java 层的分析。如果想了解底层的话,请看我的博客:android 4.4 电池电量管理底层分析(C\C++层) (http://blog.csdn.net/daweibalang717/article/details/41446993)先贴一张类与类之间的关系图: android开机过程中会加载系统BatteryService ,说一下电...转载 2018-02-11 20:54:09 · 1071 阅读 · 0 评论 -
调试input子系统的几个关键地方
PointerLocation这个多点触控测试程序,只包括下面的两个文件,LINUX/android\development\apps\Development\src\com\android\development\PointerLocation.javaLINUX/android\frameworks\base\core\java\com\android\internal\widget\Poin...转载 2018-02-11 20:33:36 · 446 阅读 · 0 评论 -
android系统中input驱动整体框架分析
编写app,1:完成对触摸屏和按键事件的捕捉2:检测输入设备的插入和拔出(热插拔) 需要用到的activity类中的方法:booleanonKeyDown(int keyCode,KeyEvent event) 按键boolean onTouchEvent(MotionEvent event) 触摸屏 第二课框架层分析:下图为转载 2017-11-24 20:11:54 · 964 阅读 · 0 评论 -
Android之 MTP框架和流程分析
概要本文的目的是介绍Android系统中MTP的一些相关知识。主要的内容包括:第1部分 MTP简介 对Mtp协议进行简单的介绍。第2部分 MTP框架 介绍Android系统下MTP的框架。第3部分 MTP启动流程 详细分析MTP服务的启动流程,包括Java层, JNI层, kernel相关知识的介绍。转载 2017-11-24 20:06:26 · 482 阅读 · 0 评论 -
Android Input Framework(三)---InputReader&InputDispatcher
1InputReader处理Input消息在InputReaderThread继承于Thread中,读取RawEvent数据流程如下:1) Thread::_threadLoop()2) InputReaderThread::threadLoop()3) InputReader::loopOnce()4) EventHub转载 2017-12-09 11:59:29 · 512 阅读 · 0 评论 -
Android Input Framework(二)---EventHub
1 EventHub获取输入设备数据EventHub可以看成是输入消息的集散地,因为android支持多种输入设备,而各种设备的消息类型可能不一样,为了统一管理这些输入消息,Android提出了EventHub的概念,所有的输入事件都会通过EventHub收集,并通过EventHub传递给InputReader,这样对上层来说,就不需要关注底层设备的多样性,减少了上层使用的复杂性。EventH转载 2017-12-09 11:58:19 · 452 阅读 · 0 评论 -
Android O新增的关于usb的三个属性 sys.usb.configfs,sys.usb.ffs.ready,sys.usb.ffs.mtp.ready
1.sys.usb.configfs该属性默认为0,通过判断kernel是否支持configfs,即判断/config/usb_gadget存在设置为1.代码在init.qcom.usb.sh中(高通平台下)。2.sys.usb.ffs.ready当sys.usb.config设置为none时,设置sys.usb.ffs.ready为0.每次设置的属性有adb时,会先start adbd。如sys...原创 2018-04-19 21:26:17 · 13597 阅读 · 2 评论