![](https://img-blog.csdnimg.cn/fba122e5619248f08b1393ac200a2dff.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
android 9.0 Rom定制化系统开发讲解系列
文章平均质量分 78
本专栏的模块主要有Launcher3,SystemUI,Settings,recovery,等输入法,自定义服务,ram,gps,下拉快捷的增删,摄像头模块蓝牙模块TF卡模块短信电话模块adb模块otg模块USB模块NFC模块控制 安装白名单,wifi黑白名单,app权限等项目实战案例供学习
安卓兼职framework应用工程师
这个作者很懒,什么都没留下…
展开
-
Android 9.0 rom定制化系列讲解导读
本专栏主要是作者本人在9.0的系统rom定制化开发中,在 frameworks定制化实战功能系列的解读,把从事几年的frameworks定制化功能的经验的积累总结一下,开发过平板,广告机,会议机,车机等一系列系统上层定制的功能性开发,写博客的目的,一方面是整理自己做的功能知识点沉淀技术,一方面帮助专栏小伙伴共同进步共同探讨知识点原创 2023-02-09 21:54:39 · 1285 阅读 · 2 评论 -
Android 9.0 recovery 菜单页跳过弹窗自动 WIPE_DATA(恢复出厂设置)
在9.0的系统产品开发中,对系统原生的recovery功能也是系统中比较重要的一个部分,所以对于恢复出厂设置在开发中也是常有的功能而在一款产品的开发过程中,由于在recovery界面需要手动输入确认,在产品中没有音量按键需要自动recovery,所以需要自动恢复出厂设置去掉recovery弹窗的相关操作,接下来分析下手动确认相关功能来实现自动恢复出厂设置功能原创 2022-12-13 00:15:00 · 1375 阅读 · 3 评论 -
Android 9.0 系统framework修改低电量关机值为2%
在9.0的系统产品开发中,在系统关于低电量关机的值,每个平台都不同,根据实际开发底层硬件的要求看实际情况来调整这个值,所以需要分析相关的电量变化执行的代码流程,来实现这个功能原创 2024-07-22 01:30:00 · 321 阅读 · 0 评论 -
Android 9.0 SystemUI定制之通过系统属性控制锁屏页面通知栏显示与隐藏功能实现
在9.0的系统产品开发中,在一些SystemUI的系统定制化开发中,在对锁屏页面的通知栏在某些情况下不需要显示通知栏,所以就需要在systemui的通知栏布局页面中,通过属性来控制是否在锁屏页面的时候显示通知,具体就分析下systemui然后开发相关功能原创 2024-07-15 00:30:00 · 209 阅读 · 2 评论 -
Android 9.0 系统关于安兔兔显示信息的修改
在9.0的系统定制化开发中,在一些产品开发中,对于安兔兔等第三方检测工具,检测不出某些版本的内核信息等,显示0GB等问题的相关修改,由于不知道安兔兔的检测方式,所以就需要来修改关于文本上的一些信息了原创 2024-07-10 00:30:00 · 244 阅读 · 6 评论 -
Android 9.0 Launcher3定制之首页时钟小部件字体大小的修改
在9.0的系统产品开发中,在一些Launcher3的定制化开发中,在对于一些小屏幕的产品开发中,在首页添加时钟小部件会显得字体有点小,所以为了整体布局美观就需要改动小部件的布局日期字体的大小来实现整体的布局美观效果,接下来来具体实现相关的功能原创 2024-07-08 01:15:00 · 196 阅读 · 4 评论 -
Android 9.0 mtp模式下连接pc后显示的文件夹禁止删除copy重命名功能实现
在9.0的系统开发中,usb连接pc端的时候有好几种模式,在做otg连接pc端的时候,改成mtp模式的时候,在pc端可以看到产品设备的显示的文件夹的内容,对于产品设备里面的文件在pc端禁止做删除重命名拷贝等操作功能的实现原创 2024-07-01 00:30:00 · 221 阅读 · 6 评论 -
Android 9.0 mtp模式下只显示指定文件夹功能实现
在android9.0的系统定制化rom开发中,对于usb作为otg连接电脑时,在mtp模式下会作为一个存储器在电脑端显示,作为电脑的一个盘符,来显示设备的内部存储的文件,所以说如果要对设备内部的资料做保密处理的时候,需要在mtp模式下不显示某些文件夹,接下来就分析下相关源码来实现功能原创 2024-06-22 00:30:00 · 182 阅读 · 2 评论 -
Android 9.0 系统层设置app进程后台运行最大数功能实现
在9.0的系统rom定制开发中,在系统中,对于后台运行的app过多的时候,会比较耗内存,导致系统运行有可能会卡顿,所以在系统优化的过程中,会限制后台app进程运行的数量,来保证系统流畅不影响体验,所以需要分析下系统中关于限制app进程的相关源码来实现功能原创 2024-06-10 00:30:00 · 200 阅读 · 4 评论 -
Android 9.0 系统内存优化之修改dalvik虚拟机的内存参数
在9.0的系统rom开发定制中,app应用也是运行在dalvik虚拟机上的,所以对于一些内存低的系统中,在某些大应用会出现耗内存卡顿情况,这是系统分配的内存不够大,在进行耗内存的操作,就会出现频繁gc等等原因造成不流畅的现象,接下来就分析下虚拟机分配内存的相关原理原创 2024-05-27 14:19:22 · 290 阅读 · 6 评论 -
Android 9.0 系统默认打开OEM解锁开关功能实现
在9.0的系统ROM定制化开发中,在9.0系统以后为了设备的安装,系统开始启用oem机制,所以在adb push文件就需要先oem解锁,然后才可以进行相关操作,所以就需要默认打开oem解锁的开关,来方便oem解锁功能的实现原创 2024-05-20 01:00:00 · 329 阅读 · 6 评论 -
Android 9.0 系统wifi列表显示已连接但无法访问网络问题解决
在9.0的系统rom产品定制化开发中,在wifi模块也很重要,但是在某些情况下对于一些wifi连接成功后,确显示已连接成功,但是无法访问互联网的情况,所以实际上这时可以正常上网的,就是显示的不正常,所以就需要分析连接流程然后解决问题 如图所示原创 2024-05-14 03:30:00 · 362 阅读 · 6 评论 -
Android 9.0 framework关于systemUI定制之导航栏透明背景的功能实现
在9.0的系统rom产品定制化开发中,在对于系统原生SystemUI的导航栏背景在沉浸式导航栏的情况下默认是会随着背景颜色的变化而改变的,在一些特定背景下导航栏的背景也是会改变的,所以由于产品开发需要要求需要设置导航栏背景为透明的,所以就需要在Activity创建的时候设置导航栏的背景色来完成功能的开发原创 2024-05-05 17:32:27 · 268 阅读 · 10 评论 -
Android 9.0 framework关于systemUI状态栏透明背景的功能实现
在9.0的系统产品ROM定制化开发中,在对于系统原生SystemUI的状态栏背景在沉浸式状态栏的情况下默认是会随着背景颜色的变化而改变的,在一些特定背景下状态栏的背景也是会改变的,所以由于产品开发需要要求需要设置状态栏背景为透明的,所以就需要在Activity创建的时候设置状态栏的背景色来完成功能的开发原创 2024-04-29 02:00:00 · 215 阅读 · 4 评论 -
Android 9.0 展讯平台关于ota升级开机logo的相关功能实现
在9.0的展讯平台的系统ROM定制化开发中,关于ota升级功能的需求也好多,但是对于ota升级开机logo这样的bmp图片,就不能像升级其他功能一样简单做ota差分包,然后ota升级就可以了,接下来就带大家来实现这个功能原创 2024-04-24 19:40:20 · 234 阅读 · 4 评论 -
Android 9.0 禁止弹出系统simlock的锁卡弹窗功能实现
在9.0的系统rom定制化开发中,在一款产品中,需要实现simlock锁卡功能,在系统实现锁卡功能以后,在开机的过程中,或者是在插入sim卡后,当系统检测到是禁用的sim卡后,就会弹出simlock锁卡弹窗,要求输入puk 解锁密码,功能需求禁用这个弹窗,所以就需要看是哪里弹的,禁用不弹窗就好原创 2024-04-15 09:08:00 · 451 阅读 · 18 评论 -
Android 9.0 framework层实现app默认全屏显示
在9.0的系统rom产品定制化开发中,在对于第三方app全屏显示的功能需求开发中,需要默认app全屏显示,针对这一个要求,就需要在系统启动app的过程中,在绘制app阶段就设置全屏属性,接下来就实现这个功能原创 2024-04-08 09:14:52 · 907 阅读 · 12 评论 -
Android 9.0 Launcher3定制化之folder文件夹去掉背景功能实现
在9.0的系统产品开发rom定制中,在Launcher3的开发中,在Launcher3的folder文件夹中, 在进入文件夹由于背景是白色的,不是很美观,所以要求去掉白色背景,要求背景换成透明的所以需要从folder文件夹流程中,找到相关的背景设置的地方,去掉相关背景的功能就可以了原创 2024-03-25 12:20:45 · 312 阅读 · 5 评论 -
Android 9.0 关于在系统Launcher3中调用截图api总是返回null的解决方案
在9.0的系统rom产品定制化开发中,在Launcher3的开发中,在某些时候需要调用截图接口来进行截屏功能实现,而在Launcher3中发现调用系统截屏接口SurfaceControl.screenshot进行截图的时候始终为null,获取不到系统当前页面的截屏功能,所以需要找到当前截屏失败的原因然后来实现截屏功能的实现,下面来分析下屏幕截屏的流程来解决问题.原创 2024-03-18 14:11:09 · 314 阅读 · 2 评论 -
Android 9.0 Folder文件夹全屏后文件夹图标列表居中时拖拽app到桌面的优化
在9.0的系统rom产品开发中,在Launcher3中在目前的产品需求开发中,对于Launcher3中的文件夹Folder的布局UI进行了定制化的需求要求把Folder修改为全屏,然后在中间显示文件夹图标的列表,这时候如果Folder是全屏的话,如果拖拽文件夹列表中的app图标,只有拖拽到屏幕边缘才可以拖拽到workspace的页面,所以产品需求要求在app拖拽出中间的文件夹灰色区域的时候,就可以拖拽到workspace的页面,所以这就需要对比folder非全屏的时候的拖拽情况,然后看拖拽流程来分析功原创 2024-03-05 11:20:26 · 352 阅读 · 2 评论 -
Android 9.0 系统开启和关闭黑白模式主题功能实现
在9.0的rom系统开发定制化中,在系统SystemUI的下拉状态栏中,产品开发功能需求要求添加黑白模式功能开关的功能,就是打开黑白模式,系统颜色就会变成黑白颜色,关闭黑白模式开关系统就会变成彩色模式,所以就需要了解下系统是怎么设置黑白模式和彩色模式的,然后添加到systemui的下拉状态栏的功能开关里面,接下来先查看系统是怎么实现黑白模式功能的,然后实现功能原创 2024-02-28 11:37:27 · 575 阅读 · 2 评论 -
Android 9.0 禁用adb remount功能的实现
在9.0的系统rom定制化开发中,在进行某些产品开发中,需要禁用掉adb remount功能,就是不能让系统remount,system分区 vendor分区等只能有读权限没有写权限,所以接下来看下如何禁用remount功能原创 2024-02-26 15:41:12 · 433 阅读 · 2 评论 -
Android 9.0 recovery页面旋转180度问题的解决方案
在9.0的系统rom定制化开发工作中,在系统中recovery的页面也是相关重要的一部分,在系统recovery ota升级等功能,都是需要recovery功能的,在某些产品定制化中在recovery的时候,发现居然旋转了180度,接下来分析下recovery关于屏幕显示方向的相关源码,来修改这个功能原创 2024-02-23 10:41:05 · 523 阅读 · 4 评论 -
Android 9.0 禁用插入耳机时弹出的保护听力对话框
在9.0的系统rom定制化开发中,在某些产品中会对耳机音量调节过高限制,在调高到最大音量的70%的时候,会弹出音量过高弹出警告,所以产品开发的需要要求去掉这个音量弹窗警告功能,接下来就来具体实现这个功能原创 2024-02-21 12:07:36 · 411 阅读 · 2 评论 -
Android 9.0 Launcher3桌面显示多个相同app图标的解决办法
在9.0的系统ROM定制化开发中,在Launcher3的系统原生桌面中,在显示桌面的时候,在禁用和启用app的功能测试的时候,会发现有多个相同app的图标显示在桌面这对Launcher3的体验效果不是很好,所以为了优化产品,需要解决这个bug,然后让产品更完善原创 2024-02-19 10:52:32 · 452 阅读 · 2 评论 -
Android 9.0 禁用adb shell input输入功能
在9.0的系统rom产品开发中,在进行一些定制开发中,对于一些adb shell功能需要通过属性来控制禁止使用input 等输入功能,比如adb shell input keyevent响应输入事件等,所以就需要熟悉adb shell input的输入事件流程,然后来禁用adb shell input的输入事件功能,接下来分析下adb shell input的输入事件下的输入事件流程原创 2024-02-16 10:06:21 · 863 阅读 · 2 评论 -
Android 9.0 任务栏中清除掉播放器的进程,状态栏仍有音乐播放器状态问题的解决
在9.0的rom定制化开发中,在点击系统自带的播放器以后,播放音乐的时候,在最近任务栏recents列表中,点击全部清除,发现音乐播放器还在播放音乐,导致出现bug,完整的解决方法,肯定是需要点击全部清除以后,音乐播放器也被杀掉进程,接下来分析下这个移除任务栏流程,然后解决这个问题.原创 2024-02-13 16:59:07 · 862 阅读 · 4 评论 -
Android 9.0 禁用adb install 安装app功能
在9.0的系统产品定制化开发中,在进行一些定制开发中,对于一些app需要通过属性来控制禁止安装,比如adb install也不允许安装,所以就需要熟悉adb install的安装流程,然后来禁用adb install安装功能,接下来分析下adb 下的安装流程原创 2024-02-12 13:20:13 · 1194 阅读 · 2 评论 -
Android 9.0 禁用adb reboot recovery命令实现正常重启功能
在9.0的系统rom定制化开发中,在定制recovery模块的时候,由于产品开发需要要求禁用recovery的相关功能,比如在通过adb命令的adb reboot recovery的方式进入recovery也需要实现禁用,所以就需要了解相关进入recovery流程来禁用该功能原创 2024-02-07 15:24:43 · 1426 阅读 · 2 评论 -
Android 9.0 SystemServer进程读写sdcard权限的修改
在9.0的系统rom定制化开发中,在一些系统进程中,也就是在SystemServer的进程中,其中系统服务中会要求读写Sdcard的一些功能,然后默认是没有读取sdcard权限的,而在app中可以申请sdcard读写权限在系统服务中就不能申请权限,接下来看怎么授权实现sdcard授权原创 2024-02-01 09:32:20 · 409 阅读 · 2 评论 -
Android 9.0 增加多张图片作为系统静态壁纸的功能实现
在9.0的系统rom定制化开发中,在对系统的静态壁纸做定制的时候,需要增加几种静态壁纸可以让用户自己设置壁纸,所以可以在壁纸的系统应用中添加几种静态壁纸图片,然后配置好 就可以在选择壁纸的时候,作为静态壁纸,接下来实现相关功能原创 2024-01-30 11:08:58 · 340 阅读 · 2 评论 -
Android 9.0 系统禁用截屏和录屏功能
在9.0的系统rom产品开发中,在对于一些产品开发需求中,对系统截屏和录屏功能 要求去掉这些功能,不让用户截屏和录屏 保护一个app的资源,所以就需要在系统中做限制不让截屏录屏,接下来具体实现相关功能原创 2024-01-23 15:56:57 · 901 阅读 · 4 评论 -
Android 9.0 当系统内置两个Launcher时默认设置Launcher3以外的那个Launcher为默认Launcher
在9.0系统rom定制化开发中,由于产品开发需要要求系统内置两个Launcher,一个是Launcher3,一个是自己开发的Launcher,当系统启动Launcher时,不要弹出Launcher选择列表 选择哪个Launcher要求默认选择自己开发的Launcher作为默认Launcher,关于选择Launcher列表其实都是在ResolverActivity.java中处理的具体看下代码分析解决问题原创 2024-01-17 10:33:40 · 516 阅读 · 2 评论 -
Android 9.0ota升级关于Systemui下拉状态栏quick_settings_tiles_default值减少时更新的功能实现
在9.0的系统rom定制化开发中,在进行systemui的下拉状态栏定制以后,当需要ota升级的时候,发现在systemui下拉状态栏的快捷功能键部分去掉的一些快捷功能并没有减少,这是因为systemui有缓存造成的只有清理缓存或者恢复出厂设置后才正常,所以今天就来实现不需要清理缓存或恢复出厂设置在ota升级后正常使用的功能,接下来具体实现相关功能原创 2024-01-14 14:59:30 · 238 阅读 · 2 评论 -
Android 9.0 ota升级关于SettingsProvider新增和修改系统数据相关功能实现
在9.0的系统rom定制化开发中,在进行ota升级的过程中,由于在SettingsProvider中新增了系统属性和修改某项系统属性值,但是在ota升级以后发现没有更新,需要恢复出厂设置以后才会更改,但是恢复出厂设置 会丢掉一些数据,这是应为系统数据库没更新,所以需要在ota的时候同样升级系统数据库,接下来看下如何实现相关的功能原创 2024-01-08 14:30:02 · 1173 阅读 · 2 评论 -
Android 9.0 framework中开机启动的过程中监听launcher是否启动完成的源码分析
在9.0的系统开发中,在系统开机启动阶段,对于首次开机动画播放完毕后,有些产品会出现黑屏的情况,这时候就需要判断当前Launcher是否启动完毕,然后在做相关的处理,接下来就来分析下关于判断launcher是否启动完毕的源码分析原创 2023-09-21 22:05:15 · 417 阅读 · 2 评论 -
Android 9.0 framework中关于Activitity的生命周期的源码讲解
在9.0的系统rom定制化开发中,在framework中对activitity的生命周期的掌握和了解也是非常重要的,这样有利于在启动某个app的activity的页面的时候,可以监听到是在启动 resume stop的过程,也好进行相关的功能开发,接下来就分析下Activity的相关生命周期的代码原创 2023-09-12 20:05:53 · 483 阅读 · 2 评论 -
Android 9.0 pms中关于启动app时获取app的ActivityInfo信息相关源码分析
在android9.0的系统rom定制化开发中,在对于app启动时,在进行系统中,通过Launcher调用pms来查询app的相关ActivityInfo的相关信息,然后调用ams来启动activity,这篇来分析pms中获取app的ActivityInfo的相关信息的相关源码分析原创 2023-09-06 21:43:15 · 863 阅读 · 2 评论 -
Android 9.0 pms获取应用列表时过滤掉某些app功能实现
在9.0的系统rom定制化开发中,对系统定制的功能也是很多的,在一次产品开发中,要求在第三方app获取应用列表的时候,需要过滤掉某些app,就是不显示在app应用列表中,这就需要在pms查询app列表时过滤掉这些app就可以了,接下来就实现这些功能原创 2023-08-31 21:43:39 · 817 阅读 · 2 评论 -
Android 9.0 kenel和frameworks中修改ram运行内存的功能实现
在9.0的系统rom产品开发定制中,在对一些产品开发中的配置需求方面,在产品后续订单中,在某些机型中需要升级下系统内核配置,项目时间比较仓促,所以来不及对硬件重新定制,就需要软件方面在ram运行内存的容量大小方面作假,修改ram真实的大小容量,所以就需要在kenel驱动部分或者ams中来修改这部分的值最好了,原创 2023-08-22 21:50:55 · 1034 阅读 · 15 评论