自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

kevin's cache的专栏

誓要去 入刀山 浩气壮 过千关 豪情无限 男儿傲气...

  • 博客(246)
  • 资源 (3)
  • 收藏
  • 关注

原创 Android 11 添加系统开机启动的Service方案

android11 添加了开机启动的service,涉及添加过程中遇到的编译,安全规则语法等多个问题

2022-03-16 16:21:00 8286 2

原创 android11 添加实时记录logcat日志保存到data目录

这就实现了开机自启动记录logcat,并且设置了每个logcat文件的大小,和一共报错多少个logcat日志文件。需求:设备即将上线,需要后台实时采集logcat日志,保存到相应目录下,方便app端上传到服务器,从而分析问题。延伸开发:APP可在发现异常时,主动上传该日志,或者拿到问题设备,将日志取出分析。软件平台:Android11。硬件平台:高通QCS6125。

2024-03-19 17:24:09 176

原创 android 添加ro属性字段并初始化

这种型号属性适合做成ro类型,类似于原生系统的ro.product.model,由于android层面拿到这个具体的型号值是内核通过传递cmdline而获取的,内核层面拿到硬件型号的区别从而在cmdline添加了一个board-id字段,Android层面在init进程解析并设置属性即可。需求:硬件需通过硬件电路区分为多款型号,需要初始化到相应的系统属性字段展示。修改分两部分,init一部分,settings展示代码一部分;软件平台:Android11。硬件平台:QCS6125。

2024-01-11 10:48:45 633

原创 Android11 将logcat日志定位到uart串口输出

重新编译刷机即可验证,注意如果串口日志仍不是全量则需要确认内核printk的级别,shell进设备,执行echo 7 > proc/sys/kernel/printk,可以将内核日志级别设置为最低,即基本上所有等级的日志都会输出到串口。需求:如题,串口需要输出logcat的系统全量日志,我这里边是把logcat日志定向到了/dev/kmsg从而使logcat跟kmsg一样通过串口输出。软件平台:Android11。硬件平台:QCS6125。

2023-11-16 10:52:45 381

原创 Android11 添加adb后门

逻辑就是,三个物理按键短时间按的次数各达到三次,就设置一个prop属性,在连接usb线后,直接可adb shell调试。软件平台:Android11。硬件平台:QCS6125。

2023-10-18 16:42:21 746

原创 Android11 移植memtester压测内存

需求如题,从网上下载了memtest源码压缩包,准备放到系统源码编译,然后push到板子上执行,结果,编译出来一堆问题,报build err。编译好后push到android设备里面,测试前需先在android看里面设置环境变量。

2023-10-18 11:41:36 410

原创 Android11 通过升级Settings数据强制覆盖用户的设置项

需求:设备通过OTA升级,强制修改用户的settings键值;编译SettingsProvider安装验证即可。软件:Android 11。硬件:QCS6125。

2023-09-19 14:17:23 402

原创 Android11 Framework添加Powerkey事件去抖

需求:短时间来回触控powerkey造成屏幕来回亮灭切换,需要去抖动,即在每次响应执行完一次休眠或者唤醒事件后,再响应powerkey事件。增量编译验证:达到的效果是每次经历完一次完整的唤醒、休眠逻辑才会响应PowerKey事件。

2023-07-11 10:50:43 290

原创 Android11 默认开机后台记录logcat日志

需求:android启动后,默认后台记录logcat日志,并且设置每个文件大小为2M,最多记录30个文件,并且放置的data目录需要开放给app侧读取权限。软件平台:Android11。Mark一下,编译验证调试~硬件平台:QCS6125。

2023-07-06 11:53:09 1302

原创 Android11 系统裁剪

2、修改device目录下的makefile,添加具体的package。修改后,编译一次,看out下相关app是否已经不存在即生效了。软件平台:Android11。1、build添加变量定义。硬件平台:QCS6125。

2023-06-13 10:30:13 643

原创 Android 添加休眠唤醒分别关闭和打开飞行模式

此服务主要的功能框架就是监听系统息屏的广播,在接受到此广播后,发五分钟延迟的消息,交给Handler去处理,从而开启飞行模式。需求:功耗考虑,需要在系统息屏5分钟后,进入飞行模式,系统唤醒后,关闭飞行模式。软件:Android11。硬件:QCS6125。

2023-05-19 16:00:12 349

原创 Android11 TextView长按默认触发选项定制

此外,对于网络链接文本,长按后可能会出发“打开”的按钮,这种情况可以删除Browser应用。软件平台:Android11。硬件平台:QCS6125。

2023-05-19 14:50:14 254

原创 repo 管理android源码,创建新分支,大版本回退快捷操作

Mark一下,上述这种方式其实是通过分支映射xml的方式,分支的proj列表xml文件,统一都在master分支管理维护。1、本地干净的代码推送到远程,新建分支,本地可建也可不建与远程同名的分支;2、新建本分支的xml文件,并提交到master分支;4、执行如下指令,sync代码,并且切换新分支;需求:android源码仓创建新分支。3、通过制定xml的方式同步新分支代码;

2023-05-15 17:16:20 787

原创 Android11 添加开机启动后固件升级逻辑

对于qcom平台,做如上修改后,可在android跟目录执行完env之后,mmm system/sepolicy就可以生成,会在out/target/product/trinket目录(lunch的产品)生成到两个路径下:system/etc/selinux和vendor/etc/selinux,分别将这两个目录push到target就可以验证生效;如果需要升级,则设置背景图,并且设置不可点击,防止不必要的anr出现。1、添加资源文件,即升级情况的全屏UI提示背景图;至此,需求开发完成。

2023-04-27 10:48:28 359

原创 Ubuntu18.04 安装 samba 服务器

步骤四:在Ubuntu下创建一个你想要共享的文件夹。并把文件夹权限设置为777,作者这里在/home目录下创建了work 共享文件夹。步骤七:在window下登陆到linux 下的共享文件夹 直接在window 文件路径下输入 \\ 你linux 的IP地址进行访问。步骤六:修改smaba配置文件 /etc/samba/smb.conf。步骤二:检查下samba安装信息 使用命令。步骤三: 使用命令 来启动samba服务。步骤五:添加 samba 用户。步骤一:直接使用命令。

2023-04-26 20:41:09 825

原创 Repo 整体版本回退,方便二分查找确定问题

1).在android根目录下,新建分支,repo forall -c git checkout -b new_branch_xxx XXX_HALO_2.1.2_L1_20220829。2).此时所有仓库已创建好新分支new_branch_xxx,且已回退至tag为XXX_HALO_2.1.2_L1_20220829时间节点的历史版本。先去随意git仓库下,git tag,假设想回退的tag号为XXX_HALO_2.1.2_L1_20220829。1.repo回退到具体某一天的提交。

2023-04-26 17:32:08 826

转载 Android11 SELinux 添加权限后不生效

发现需要确实是Android 11 platform_app 缺少mlstrustedobject。Android 11上需要对一个节点进行写操作,但是添加了Selinux以后还是报错。但是因为要过cts,不能直接修改platform_app的type。修改yft_temperature_file即可。软件平台:Android11。硬件平台:QCS6125。加了权限还是一直报avc。

2023-04-12 17:16:12 598

原创 android11 关闭默认的窗口切换动画

增量编译验证即可,发现window自身动画和window间切换动画已经默认关闭。软件平台:Android11。硬件平台:QCS6125。

2023-04-03 18:07:08 553

原创 Android平台设置系统默认亮度

软件平台:Android11。硬件平台:QCS6125。

2023-03-31 10:48:23 601

原创 Android11 添加输入法并且设置默认

具体配置项的字串怎么获取呢?安装上apk,在settings界面选中该输入法,然后命令行。拿到值设置到SettingsProvider的配置文件即可。软件平台:Android11。硬件平台:QCS6125。

2023-03-29 20:17:56 727

原创 默认开启“停用HW叠加层”开关,强制GPU渲染

因为开机默认状态,不会加载开发者模式的页面,因此在开发者模式的控制类是无法修改默认的,只能在开机必走的阶段执行使能,这里我选择的是FallbackHome这个类,每次在launcher启动之前都会调用这里,故选择该类。编译验证,刷机即可发现在开发者选项中,该项值已经默认打开了。

2023-02-05 15:18:08 5750

原创 Android11 设置菜单添加永不休眠选项

切换到dream_timeout资源,这里边有永不休眠的选项;软件平台:Android11。硬件平台:QCS6125。

2023-02-02 16:58:05 782

原创 Android11 修改默认系统语言为中文

不难看出,所谓的设置默认语言,只是把相应的语言配置到首位即可。

2023-01-30 16:46:25 1457 2

原创 隐藏Android11系统的鼠标

锁定是在PointerIcon.java中控制显示的,进入到PointerIcon类中详细分析,该类中主要的方法有getNullIcon() 获取空图标;getDefaultIcon()获取默认图标;getSystemIcon()获取系统图标等,认真读几遍代码,不难发现获取鼠标的方法最终都会调用到getSystemIcon()这个方法里。需求由来:项目中支持电磁笔,发现电磁笔接触屏幕的点系统都会显示黑色的鼠标小箭头,需要将这个屏蔽掉;进而查找pointer_arrow_icon.xml的加载位置,

2023-01-30 16:32:00 878

原创 Android11 添加HIDL接口编译报错

可以看到在prebuilts目录生成了两个lsdump文件,cd到相应目录,git status看到文件确实被修改了,git commit这俩文件即可,这样其他人sync下来,直接就会build通过而不再报这个错误。软件平台:Android11。硬件平台:QCS6125。

2023-01-16 10:28:25 1743

原创 Android11 开机默认旋转90度

至此从开机动画开始往后的UI都修改为默认竖屏了,剩下的就是bootlogo部分,这部分只需要把bmp格式素材自行旋转为竖屏,编译到系统即可。需求说明:开机自动旋转90度,改横屏显示为默认竖屏,从开机logo,开机动画开始就默认旋转。第四步:修改DisplayRotation.java。第三步:修改RotationPolicy.java。默认settings键值配置为竖屏。软件平台:Android11。需求搞定~~~~~~硬件平台:QCS6125。第五步:修改开机动画部分。

2023-01-14 16:47:57 1887

原创 android 添加vndbinder控制接口

可以大概看出,是vndservice可执行程序通过vndbinder调用同样注册vndbinder的display.qservice服务,后边跟的参数38代表功能接口的ID号即为一个方法,再往后的i32为该功能的参数数据类型定义为int32,再往后尖括号就是参数值。需求描述:通过adb命令行,同注册为vndbinder的服务通信,调用其相关接口,注册vndbinder的服务在HW层实现。在执行上述指令的同时,打开logcat日志,可以看到“======”标示的日志输出,代表数据通路没问题。

2022-12-24 11:10:40 731

原创 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 4492

原创 Ubuntu18.04添加vim配置

重启终端,vi一个文件即可生效~~~~

2022-11-17 17:23:22 1403

原创 HWC与GPU混合渲染概念详解

然后,SurfaceFlinger 通过调用 setClientTarget 将该缓冲区提供给屏幕,以便缓冲区可以在屏幕上显示,或者进一步与未标记为进行 SurfaceFlinger 合成的图层合成。该框架假设,在热插拔第一个内部屏幕之后,所有热插拔操作都是在外部屏幕上进行,因此如果添加了更多内部屏幕,它们将被错误地归类为 Display.TYPE_HDMI,而不是 Display.TYPE_BUILT_IN。在显示缓冲区之前,HWC 会检查同步栅栏是否已发出信号,如果有,则显示缓冲区。

2022-11-01 16:28:22 1529

原创 Andoird11版本对后装apk添加包名和签名校验

专门防止三方软件,盗取包名后台安装替换。软件平台:Android 11。

2022-08-24 17:47:32 1149

原创 Android 9系统添加系统字体

近日,预制了一套系统字体,本来字体可以在app中单独放置到资源,然后调用,但由于系统中定制的apk有多个需要用该字库,为了节约空间,就把字库文件预制到了系统,一份文件可以供多个apk去使用。改动不大,主要是找到要改动的点,网上的方案很多,大部分都是针对低版本,好多文件在高版本没有了,没办法参考,自己搞定了,Mark一下。我这里是改了Settings里边恢复出厂设置的确认界面的字体,修改完成,增量编译,然后刷机验证即可~~~修改frameworks/base/data/fonts目录内容。

2022-08-23 11:20:46 1201

原创 android11添加自定义静态广播无法获取解析

android11添加自定义静态广播

2022-08-04 10:16:58 3279

原创 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 1166

原创 android studio中App项目,添加系统签名

AS添加系统签名3. 把x509.pem公钥转换成pkcs12格式:密码都是:android4.生成platform.keystore二 在Androidstudio的App项目中添加该证书1.2.以上,添加完成,这样通过AS即

2022-07-05 15:04:35 953

转载 匿名共享内存(Ashmem)的使用

Android 进程间传输较大数据的方式

2022-03-24 11:22:57 1052

原创 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 6537 1

原创 Android11 全编译后无法生成framework.jar的解决方案

Debug 系统应用时,导入到 AS 会有大量报红代码,基本都是 framework 和新增模块的,需要导入对应的 jar 包才方便代码查看和跳转。一般来说,使用 Android 源码全编译之后,会生成 out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar 。这个就是我们需要的 framework.jar (重命名一下),导入到 AS 里后,相关的代码就不会报红了。但有些代码编译之后没有生成这个,生成

2022-01-06 16:38:18 3651 1

原创 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 469

原创 Android bootanimation制作和调试

bootanimation 动画替换调试1、创建bootanimation文件夹, 拷贝part0、part1、desc.txt三个文件到该文件夹里。2、在文件夹下执行 zip -r -0 bootanimation.zip part0 part1 desc.txt 命令3、使用adb 拷贝bootanimation.zip 替换机器中 /system/media/ 中的bootanimation.zip。(这一步需要root权限和重新挂载/system/分区)4、执行 setprop s.

2021-07-28 15:43:32 570

linux指令大全............

适合linux初学者的上乘秘籍!!!我刚买了一本感觉好就把他打成了文档,方便更多人

2010-03-18

考研真题。。。。。。。。。。

看了真题,包你复习效率大增。。。。。。。稳喥清华桂冠

2009-12-12

09年数学考研大纲数学一

对考研数学所考范围及深度做了很好的说明,值得一看呦。

2009-03-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除