自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 [openSSL]TLS 1.3握手分析

关于TLS握手网上资料很多,但是有一些写的很不清楚,导致学习时对概念和流程出现混淆,以下是我觉得写得比较清晰和准确的供学习参考。浅析 TLS(ECDHE)协议的握手流程(图解)图解ECDHE密钥交换算法TLS原理与实践(三)tls1.3以访问百度为例的TLS1.3握手详解接下来针对ECDHE密钥交换、单向身份认证、双向身份认证来进行分析。注意这3个只是完整TLS握手流程中的一部分。

2024-08-13 16:09:30 744

原创 [openSSL]tls_construct_cert_verify签名流程

tls_construct_cert_verify是openSSL源码中的一个方法,用于进行TLS握手阶段的签名流程。客户端根据一段公共消息生成消息摘要,一般是使用sha256算法。客户端对消息摘要使用私钥进行签名,将签名后的消息发送给服务端。服务端收到签名消息后,使用客户端公钥处理来得到摘要消息。对公共消息也使用sha256算法来提取摘要,对比摘要,成功则能够验证客户端的身份流程图。

2024-08-13 14:43:53 1114

原创 dangerous relocation: unsupported relocation处理

一般dangerous relocation: unsupported relocation错误常见于编译一个库文件时发生,而-pie 和 -fPIE 主要用于创建可执行文件,而不是共享库,所以编译库文件时不需要-pie -fPIE。但是我遇到了加了-fPIC也还是报相同的错误的情况,检查发现CXXFLAGS中还有-pie -fPIE,去掉后编译链接成功。错误出在链接阶段,按照提示需要在CXXFLAGS中加上-fPIC后重新编译。

2024-08-13 13:55:19 447

原创 Android系统剪裁的处理方式(唔好再修改源码啦)

Android的系统剪裁是很多产品都会做的处理,剪裁掉不需要的应用或者服务,以减小占用空间大小以及内存的占用。这里讨论如何优雅地进行剪裁的处理。

2024-02-07 15:54:52 949 1

原创 Android修改系统默认字体

Android系统中的字体配置文件为/system/etc/fonts.xml关于fonts.xml文件的解读可以参考Android fonts相关知识以及fonts.xml解读从图上可以看出,Android系统默认字体名为sans-serif,所使用的是Roboto系列的字体文件。如果不做另外的设置,那么我们写的程序默认会使用的就是sans-serif,也即是Roboto系列的字体。

2024-02-05 19:04:50 2030 1

原创 Android添加系统字体fonts

上传/fonts/oem-lobster/Lobster-Regular.ttf文件。系统源生提供了定制化增加字体文件的方式,可以在不修改源生代码的情况下进行定制增加。的字体,使用的字体文件为Lobster-Regular.ttf。product下的预置参考了google提供的预置方式。例如/device/common/common.mk。之后,在应用中便能够使用lobster字体了。这个文件是增加了一个名为。

2024-02-04 18:44:18 1327 1

原创 Android Sensor模块解析(Sensor Hidl服务)

Sensor Hidl服务在眼镜中是一个android.hardware.sensors@2.1-service.multihal进程它其实是sensor hal的hidl实现,sensor hal也是在这个进程中的。Sensor hidl的代码位置主要在。

2024-02-02 17:32:29 1223

原创 Android Sensor模块解析(Sensor系统服务)

Android的sensor模块系统服务的代码,可以分为客户端和服务端。

2024-02-02 14:29:29 1718

原创 Android Sensor模块解析(Sensor的整体架构)

3、sensor的hidl服务,运行在android.hardware.sensors@2.1-service.multihal进程,会调用sensor-hal的实现方法。4、高通的sensor-hal,以sensors.ssc.so的形式提供给sensor的hidl服务,因此也是运行在hidl的进程中的。包含了sensor的主要实现。2、sensorservice(运行在system_server),提供了sensor框架层的具体实现,并调用到sensor的hidl服务。5、驱动层、硬件层。

2024-02-02 10:07:30 492

原创 Android ANR问题基本分析方法

对于ANR问题的介绍,首先可以参考google的官方文档。

2024-01-31 14:03:19 1528 1

原创 Android Aidl for hal开发案例

一次Aidl for hal的实现案例,包含bp编译、aidl接口、服务端、客户端、selinux的实现以及一些问题的解决。

2024-01-30 17:46:13 3337 1

原创 解决Android11上无法通过AIDL传递MQDescriptor从而无法使用FMQ快速消息队列的方法

Android的发展趋势是去HIDL转而使用AIDL,在该转化过程中会出现一些问题。比如本文中描述的问题,使用FMQ但却无法在Android 11上使用AIDL来传递MQDescriptor。本文提供了一种解决该问题的方式,即将MQDescriptor中的native_handle_t数据提取并进行序列化,之后客户端再进行还原得到MQDescriptor,以此来创建对应的消息队列,从而跨进程使用FMQ快速消息队列。

2024-01-30 16:04:20 941 1

原创 Android系统存储可用空间不足监控DeviceStorageMonitorService

对于低存储空间的设备,比如穿戴设备等,存储空间可能只有32G。在这样的设备上安装第三方应用会占用较大的存储空间,因此需要对可用的存储空间进行监控。

2024-01-30 11:12:38 498 1

原创 Android input输入设备与kl文件的匹配

input设备的事件上报和系统中keyCode的对应是通过kl(keyLayout)文件来进行转换的。Android系统中预置了很多的kl文件,如果要定制input行为,我们也会添加或者修改kl文件。Generic . kl部分内容一个Android设备会存在多个input设备,本文主要分析是如何为不同的input设备寻找匹配对应的kl(keyLayout)文件的。了解后就知道如果新增了一个输入设备,我们该如何为其添加kl文件。

2024-01-18 15:36:35 1535 2

原创 nodejs中JavaScript代码里使用阿里云发送短信验证码SendSmsVerifyCode

在JavaScript代码中利用阿里云的短信服务发送短信验证码环境:Nodejs 阿里云Linux服务器代码:JavaScript。

2024-01-05 18:28:03 1545 1

原创 Android fonts相关知识以及fonts.xml解读

fonts.xml是 Android 系统中的一个配置文件,用于定义系统中使用的字体相关信息。由于 Android 系统支持多种语言,而每种语言的文字字体可能有所不同,因此需要对字体进行精细调整,以确保在各种情况下都能获得良好的显示效果。如果你进行相关的定制开发,理解和熟悉fonts.xml文件的内容是至关重要的。这个文件包含了系统中各种语言和字体的映射关系,通过它可以调整字体的使用方式,以满足特定的需求和显示效果。深入了解fonts.xml可以为定制化开发提供必要的指导和信息。

2024-01-04 10:53:44 2360 2

原创 Android keycode关联映射以及键值添加

Android的keycode添加需要在多个文件中进行键值增加,一个同样的键值在多个地方进行定义总是让人感觉不安的,所以下面我们通过走读代码重点看一下keycode对应关系,上层的keycode值如何对应到/dev/input/eventX中的上报值,为什么要在这些文件中定义,以及各个文件中的定义分别是做什么用的,到底以哪个为准。键值数字的定义是在keycodes.h中,可以看到AKEYCODE_DPAD_CENTER的值是23。由以上可以看出。

2023-12-15 16:15:23 2445

原创 Nodejs连接MySql报错ER_NOT_SUPPORTED_AUTH_MODE处理

使用nodejs连接MySql数据库时,出现了这样的报错,导致无法连接',});报错Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server;

2023-11-29 14:49:54 1563 2

原创 阿里云Linux服务器升级glibc到2.28

在使用阿里云的Linux服务器(Alibaba Cloud Linux 2.1903 LTS 64位)时,按照教程安装的是nodejs的V14版本。如果升级了npm到最新的版本,之后使用npm时会提示那么需要升级nodejs,在升级了nodejs到v21版本后,会提示因此需要升级GLIBC_2.28。

2023-11-28 20:20:17 2919

空空如也

空空如也

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

TA关注的人

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