Framework
文章平均质量分 56
凯文的内存
誓要去 入刀山 浩气壮 过千关 豪情无限 男儿傲气...
展开
-
android11 关闭默认的窗口切换动画
增量编译验证即可,发现window自身动画和window间切换动画已经默认关闭。软件平台:Android11。硬件平台:QCS6125。原创 2023-04-03 18:07:08 · 691 阅读 · 0 评论 -
Android平台设置系统默认亮度
软件平台:Android11。硬件平台:QCS6125。原创 2023-03-31 10:48:23 · 789 阅读 · 0 评论 -
Android11 设置菜单添加永不休眠选项
切换到dream_timeout资源,这里边有永不休眠的选项;软件平台:Android11。硬件平台:QCS6125。原创 2023-02-02 16:58:05 · 970 阅读 · 0 评论 -
隐藏Android11系统的鼠标
锁定是在PointerIcon.java中控制显示的,进入到PointerIcon类中详细分析,该类中主要的方法有getNullIcon() 获取空图标;getDefaultIcon()获取默认图标;getSystemIcon()获取系统图标等,认真读几遍代码,不难发现获取鼠标的方法最终都会调用到getSystemIcon()这个方法里。需求由来:项目中支持电磁笔,发现电磁笔接触屏幕的点系统都会显示黑色的鼠标小箭头,需要将这个屏蔽掉;进而查找pointer_arrow_icon.xml的加载位置,原创 2023-01-30 16:32:00 · 1088 阅读 · 0 评论 -
Android11 开机默认旋转90度
至此从开机动画开始往后的UI都修改为默认竖屏了,剩下的就是bootlogo部分,这部分只需要把bmp格式素材自行旋转为竖屏,编译到系统即可。需求说明:开机自动旋转90度,改横屏显示为默认竖屏,从开机logo,开机动画开始就默认旋转。第四步:修改DisplayRotation.java。第三步:修改RotationPolicy.java。默认settings键值配置为竖屏。软件平台:Android11。需求搞定~~~~~~硬件平台:QCS6125。第五步:修改开机动画部分。原创 2023-01-14 16:47:57 · 2234 阅读 · 0 评论 -
Android11添加AIDL系统服务及HIDL接口服务
frameworks/base/services/core/java/com/android/server目录添加HandWriteManagerService.java。可以看到“======”标示的内容,从自定义服务开始到SF日志,到最终HW层扩展接口拿到传递的数据值证明接口通了~~~~完事大吉!将刚刚得到的新 hashcode 值更新到 hardware/interfaces/current.txt。Mark一下,本文只做数据通路走通,可参考实现自己的控制和数据传输接口!原创 2022-12-22 17:01:43 · 4977 阅读 · 0 评论 -
HWC与GPU混合渲染概念详解
然后,SurfaceFlinger 通过调用 setClientTarget 将该缓冲区提供给屏幕,以便缓冲区可以在屏幕上显示,或者进一步与未标记为进行 SurfaceFlinger 合成的图层合成。该框架假设,在热插拔第一个内部屏幕之后,所有热插拔操作都是在外部屏幕上进行,因此如果添加了更多内部屏幕,它们将被错误地归类为 Display.TYPE_HDMI,而不是 Display.TYPE_BUILT_IN。在显示缓冲区之前,HWC 会检查同步栅栏是否已发出信号,如果有,则显示缓冲区。原创 2022-11-01 16:28:22 · 1733 阅读 · 0 评论 -
Andoird11版本对后装apk添加包名和签名校验
专门防止三方软件,盗取包名后台安装替换。软件平台:Android 11。原创 2022-08-24 17:47:32 · 1235 阅读 · 0 评论 -
Android 9系统添加系统字体
近日,预制了一套系统字体,本来字体可以在app中单独放置到资源,然后调用,但由于系统中定制的apk有多个需要用该字库,为了节约空间,就把字库文件预制到了系统,一份文件可以供多个apk去使用。改动不大,主要是找到要改动的点,网上的方案很多,大部分都是针对低版本,好多文件在高版本没有了,没办法参考,自己搞定了,Mark一下。我这里是改了Settings里边恢复出厂设置的确认界面的字体,修改完成,增量编译,然后刷机验证即可~~~修改frameworks/base/data/fonts目录内容。原创 2022-08-23 11:20:46 · 1272 阅读 · 0 评论 -
Android SystemService各阶段启动时序
本文旨在基于Android 6.0的源码剖析, 分析Android启动过程的system_server进程:涉及如下文件:frameworks/base/services/java/com/android/server/ - SystemServer.java frameworks/base/services/core/java/com/android/server/ - SystemServiceManager.java - ServiceThread.java - am/Activi原创 2022-07-06 17:49:27 · 1243 阅读 · 0 评论 -
Android11 配置开机默认横屏显示
软件平台:Android11硬件平台:Mtk8788 Android系统默认是竖屏显示的,但一些品类比如平板等需要开机logo开始就横屏显示,之前在android低版本开发过,高版本再次开发了这个功能,补丁有不小出入,特此记录:--- a/cmds/bootanimation/BootAnimation.cpp+++ b/cmds/bootanimation/BootAnimation.cpp@@ -387,9 +387,11 @@ status_t BootAnimati...原创 2022-03-18 14:47:42 · 6623 阅读 · 1 评论 -
Android 11 添加系统开机启动的Service方案
android11 添加了开机启动的service,涉及添加过程中遇到的编译,安全规则语法等多个问题原创 2022-03-16 16:21:00 · 8580 阅读 · 2 评论 -
Android9.0 Framework层添加key事件
近日,开发新需求,内核层需要上报定制事件,简单来看就是使用系统现成儿定义好的,却没有使用的,结果这样操作后,发现上层UI会不自主的响应,返回或者上下左右控件切换等最终决定,在之前的键值范围新定义事件,就需要Framework层进行同步新增定制需求说完,直接上代码:diff --git a/api/current.txt b/api/current.txtindex 0e35fd6f86e..48e642d6d01 100644--- a/api/current.txt+++ ...原创 2021-08-25 10:30:53 · 522 阅读 · 0 评论 -
android添加micphone静音事件处理
软件版本:Android9硬件平台:Mtk8175需求:物理按键触发,底层上报静音事件,上层响应;按键驱动层面的内容,在此不做记录分析,从驱动上报事件到系统层事件映射透传做起:1、修改kl映射表:diff --git a/data/keyboards/Generic.kl b/data/keyboards/Generic.klindex 860aa9c118b..fd9773a5415 100644--- a/data/keyboards/Generic.kl+++ b/da原创 2021-07-14 10:53:06 · 1424 阅读 · 0 评论 -
Android frameworks中引用aar包
在frameworks中引用aar包的步骤(以我需要在PKMS中调用为例):1.在相应的目录中新建一个文件夹,存放test-debug.aar及Android.bp文件。如我在\frameworks\base\services目录下新建一个文件夹:data_test,里面放test-debug.aar及Android.bp.2.Android.bp中的内容android_library...转载 2020-02-03 10:56:14 · 1478 阅读 · 2 评论 -
android8.1 应用程序添加白名单并添加grant权限
近日,将一个业务app导入系统,发现APP中功能界面在切入后台的时候,会受到影响,原来是白名单的存在导致的,先将framework层面添加的改动展示一下,后面再上原理层面的内容分析:diff --git a/data/etc/platform.xml b/data/etc/platform.xmlindex c243e311..948c2848 100755--- a/da...原创 2019-12-09 17:32:54 · 2498 阅读 · 1 评论 -
Android框架层添加新KeyEvent事件
Android原生的KeyEvent事件有200多个,但是如果随便使用这些事件,上层的处理逻辑就会出问题,比如丢事件或者逻辑混乱,那么如何添加一套自己的KeyEvent事件呢?待我娓娓道来:这次添加的是一个需要底层input设备上报的双击事件。先从framework说起:--- a/frameworks/base/api/current.txt+++ b/frameworks/原创 2016-12-15 11:11:11 · 3375 阅读 · 1 评论 -
添加已有input事件类型上层分发处理
添加系统已有的Key事件类型,为我所用的方法。首先,从驱动层面,上报的事件为202,203,从系统层面看,这俩键值对应到了类似外接键盘事件或者游戏按键之类的事件,然后我们的系统并不需要支持这种外设事件,因此这俩事件完全可用,并不会冲突。然后,我们来看系统层面的改动:--- a/frameworks/base/policy/src/com/android/internal/pol原创 2016-12-07 14:55:20 · 774 阅读 · 0 评论 -
Framework添加第三方so库
下面分享一个小case:Android framework添加第三方的so:首先,将相关so拷贝至相关目录:frameworks/av/services/audioflinger。然后,修改Android.mk。开头添加:# DIRAC LOCAL_MODULE := libDiracAPI_SHARED LOCAL_SRC_FILES := libDiracAPI_S原创 2016-10-21 10:18:53 · 3059 阅读 · 3 评论 -
Android Framework添加开机启动Service
提到开机启动的Service,在android平台中有很多方式,今天要讲的是传统的在Framework层添加一个Service,并启动它,功能很简单,主要是这当中涉及的各个层面的层次结构,从而学会如何自己添加Service。1)在framework相关目录创建aidl文件(frameworks/base/core/java/android/os),比如ITestService.aidl原创 2016-09-13 15:12:32 · 3518 阅读 · 0 评论