wang 恒
吾日三省吾身,遵恒律谦温乎!
该补的我都会补回来,至死方休!
恐惧来源于无知
展开
-
android fw systemserver之MountService分析
文章目录前言分析MS工作模式总结参考前言MountService是Android系统中众多systemserver中一员,其工作主要是与native sever Vold共同管理Android系统中的磁盘模块。MountService:Android Binder服务端,运行在system_server进程,用于跟Vold进行消息通信,比如MountService向Vold发送挂载SD卡的命...原创 2019-09-27 16:47:16 · 722 阅读 · 0 评论 -
Android Display 之 HAL Gralloc
1.前言之前分析过Android HAL层关于hal库是如何加载的一个小框架,源于笔者需要分析Android display框架,Android display HAL层最重要的就是Gralloc和Framebuffer。在《深入理解Android内核设计思想》一书中,有提到:Android终端显示设备的”化身“–Gralloc与Framebuffer。在Android系统中,Framebuf...原创 2019-09-30 11:13:30 · 1910 阅读 · 1 评论 -
android7.1 vold模块分析
文章目录前言分析vold源码架构分析vold模块启动流程VM 启动流程NM 启动流程NetlinkHandlerCL 启动流程、CL的创建CL的启动vold框架之存储器(U盘)加载流程vold框架之存储器(U盘)加载流程分析vold框架之存储器(U盘)加载流程实战--Android7.1添加ntfs支持添加Ntfs*相关文件,即Ntfs.h,Ntfs.cpp修改PublicVolume::doMount()实现Android.mk 文件添加Ntfs*源文件参与编译总结参考前言Android中对磁盘的管理原创 2019-10-09 09:28:04 · 1428 阅读 · 0 评论 -
【qcom msm8953 android712】rtc 调试分析
文章目录1.RTC概述2.平台对应的rtc接口3.分析4.总结5.参考1.RTC概述RTC(Real Time Clock),用于关机时继续计算系统日期和时间。是基于硬件的功能。也可以RTC做Alarm来设置power on/off。2.平台对应的rtc接口Linux 提供了三种用户空间调用接口。对于笔者所用的平台,在其中对应的路径为:SYSFS接口:/sys/class/rtc/rtc...原创 2019-10-16 09:12:17 · 1495 阅读 · 0 评论 -
msm8953 Android7.1.2 lights模块分析
1.概述2.分析3.使用及实现4.总结原创 2019-08-09 10:50:50 · 697 阅读 · 0 评论 -
AndroidN新增物理按键[android7.1.2][msm8953]
1.概述2.实现3.总结原创 2019-08-12 09:54:53 · 1605 阅读 · 2 评论 -
【Bootloader】记录一次关于Android命令reboot bootloader引发的Android boot mode异常
文章目录1.问题复现2.分析2.1 烧录和重启2.2 代码分析2.2.1 rockchip boot mode2.2.2 Android bootloader boot mode3.解决问题4.总结系统:Android8.1内核:kernel 4.4.138平台:rockchip px301.问题复现本次问题的触发是由于单独替换分区img引起,有需求是要在产品在外用户可以自行动态更换logo,这点在本人博客中已有记录-【LOGO动态替换】记录一次关于LOGO动态替换引发的uboot代码分析及其实现原创 2022-02-16 16:27:21 · 1947 阅读 · 0 评论 -
【Android 8.1 PX30】【实现自定义服务第五步】Android系统服务之新增自定义GPIO服务之如何使用
文章目录1.Settings相关文件修改及添加1.2 修改部分1.2.1 AndroidManifest.xml1.2.2 strings.xml1.2.3 Settings.java1.2.4 SettingsActivity.java1.2.5 SettingsGateway.java1.2.6 SearchIndexableResources.java1.3 添加部分1.3.1 ic_settings_hogocustomize.xml1.3.2 hogocustomize.xml1.3.3 Hogo原创 2021-11-14 19:22:59 · 2125 阅读 · 0 评论 -
【Android 8.1 PX30】【实现自定义服务第四步】Android系统服务之新增自定义GPIO服务之服务注册、权限管理方面
文章目录续接上文,本文将讲叙基于前文的结果进行Android系统服务之新增自定义GPIO服务之服务注册、权限管理和编译配置方面的实现,最终达到app可以使用该服务的目的(本文不会过多讲解分析,只会在实现相关功能处稍作携带)。说明有不到之处,望各位指正!ps:看官们注意,革命快成功咯~selinux块:system/sepolicy/device/rockchip/common/sepolicy/...原创 2021-11-09 10:13:09 · 1485 阅读 · 1 评论 -
【Android 8.1 PX30】【实现自定义服务第三步】Android系统服务之新增自定义GPIO服务之frameworks层服务实现
文章目录续接上文,本文讲讲叙如何基于HIDL接口新增HAL Android自定义GPIO服务之client端(本文不会过多讲解分析,只会在实现相关功能处稍作携带)。说明有不到之处,望各位指正!现在开始,依旧从源头出发,由下至上~// 下一篇binder服务和local服务selinux块:system/sepolicy/device/rockchip/common/sepolicy/...原创 2021-11-06 14:15:57 · 1278 阅读 · 0 评论 -
【Android 8.1 PX30】【实现自定义服务第二步】Android系统服务基于HIDL接口之新增自定义GPIO服务
续接上文,本文只讲叙如何基于HIDL接口新增HAL Android自定义服务。原创 2021-11-03 10:12:49 · 313 阅读 · 0 评论 -
【Android 8.1 PX30】【实现自定义服务第一步】Android系统服务基于HIDL接口之新增自定义GPIO服务之lights模块再分析
文章目录1.Linux kernel 驱动层2.hardware层:2.1 hardware hal 硬件具体实现 (这里会根据硬件的不同而不同)2.2 hardware/libhardware/include/hardware/lights.h2.3 hardware/interfaces/light3.frameworks services层:frameworks/base/services3.1 客户端jni调用3.2 客户端frameworks java服务:执行本地jni调用本文再次分析Andr原创 2021-10-27 09:42:41 · 313 阅读 · 0 评论 -
【PX30 android8.1】 Android8.1导航栏添加虚拟电源键
文章目录原创 2021-10-12 16:23:21 · 638 阅读 · 0 评论 -
【Android】android8.1添加自定义服务
文章目录原创 2021-10-06 15:15:53 · 250 阅读 · 0 评论 -
【Android8.1】软键盘和实体键盘冲突(无法同时使用)问题解决
在Android系统上存在一个机制,即当系统外接实体键盘时候,软键盘则会默认被禁用,要想实现软键盘和实体键盘同时使用,则需要进行如下操作:vi frameworks/base/packages/SettingsProvider/res/values/defaults.xml对 def_show_ime_with_hard_keyboard 进行初值修改,由false->true,如下所示:延伸阅读:frameworks/base/packages/SettingsProvider/src/原创 2021-09-16 09:37:24 · 1739 阅读 · 1 评论 -
【默认输入法】Android8.1默认输入法修改(解决输入法切换和权限获取等问题)
文章目录1.内置第三方输入法app-讯飞2.默认切换使用第三方输入法-讯飞2.1 修改默认输入法为讯飞2.2 代码启用默认讯飞输入法2.3 默认赋予讯飞输入法权限3.使能切换输入法功能1.内置第三方输入法app-讯飞此步骤,省略。2.默认切换使用第三方输入法-讯飞2.1 修改默认输入法为讯飞frameworks/base/packages/SettingsProvider/res/values/defaults.xml<string name="def_input_method" tran原创 2021-09-13 10:17:59 · 1056 阅读 · 1 评论 -
【SIMCOM A7670C】Android8.1 4G Dongle 移植笔记
文章目录1.前言2.移植过程2.1 kernel配置相关2.1.1 lsusb确认硬件连接是否正常2.1.2 使能USB驱动配置2.1.3 添加硬件ID生成ttyUSB*或者ttyACM*设备2.1.4 使能PPP相关kernel配置2.2 Android系统部分移植2.2.1 ril库移植2.2.1.1 移植rild守护进程和相应所需文件且屏蔽onlywifi选项2.2.1.2 赋予ppp相关的selinux权限2.2.1.3 赋予ttyUSB*或ttyACM*设备执行权限2.2.2 APN设置(此步骤原创 2021-09-06 16:07:58 · 1173 阅读 · 0 评论 -
【Jack-server常见错误】记录一次androidO编译引起的jack-server报错处理路程,我吐了
jack-server这个东西,姑且不论别的,就单单搞android os的人来说,肯定不陌生,因为它确实是太恶心了,这东西网上的资料也挺多的,但大多是互相参考,借鉴,所以总结出来的处理问题方法基本上是如出一辙,一旦遇到什么奇怪的问题,那么解决起来就相当棘手了,这次我就是这样,简直快被搞吐了。废话少说,直接进入主题!先上错误信息:错误一:oadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_typ原创 2021-09-01 17:01:18 · 300 阅读 · 0 评论 -
【导航栏状态栏】动态控制导航栏状态栏的显示与隐藏
文章目录1.需求2.实现2.2 导入所需包2.1 start方法中添加对广播的动态注册2.2 实现广播处理内部类处理广播消息以及申明定义广播2.3 实现相关实际处理方法3.验证功能系统:Android8.1内核:kernel 4.4.138平台:rockchip px301.需求系统的导航栏和状态栏要能够动态的控制隐藏与显示,即沉浸式。如下图:2.实现熟悉Android系统的人应该都知道这个状态栏、导航栏是属于Android SystemUI apk的,虽然看着像在Launcher3中。因此原创 2021-08-28 11:29:04 · 776 阅读 · 0 评论