06 2021 档案

摘要:概述 源码解析 1. NetlinkListener模块-处理socket消息的 1.1 NetlinkListener构造函数 NetlinkListener::NetlinkListener(int socket) : SocketListener(socket, false) { mForma 阅读全文
posted @ 2021-06-30 20:19 pyjetson 阅读(168) 评论(0) 推荐(0)
摘要:概述 vold进程启动流程: 注册vold服务 创建emulated volume 创建netlinkmanager,用来监听uevent事件,add disksource属于mmc1(sd卡)和usb的 源码解析 1. main模块 1.1 main函数 int main(int argc, ch 阅读全文
posted @ 2021-06-30 20:16 pyjetson 阅读(1210) 评论(0) 推荐(0)
摘要:概述 用于A/B系统切换A/B的hal 源码解析 源码位置:android/hardware/interfaces/boot/1.1/default/boot_control/libboot_control.cpp文件 1. bootctl模块 1.1 IsSlotMarkedSuccessful- 阅读全文
posted @ 2021-06-30 20:15 pyjetson 阅读(1046) 评论(0) 推荐(0)
摘要:概述 rc文件中的配置 on fs mount_all /vendor/etc/fstab.sun50iw10p1 --early on late-fs mount_all /vendor/etc/fstab.sun50iw10p1 --late 这个--early和--late是用在metadat 阅读全文
posted @ 2021-06-30 20:14 pyjetson 阅读(2310) 评论(1) 推荐(0)
摘要:概述 ftrace:是一个内核函数跟踪器,function tracer,旨在帮助开发人员和系统设计者可以找到内核内部发生的事情。 atrace:Android tracer,使用ftrace来跟踪Android上层的函数调用。为数据采集部分 systrace:Android的trace数据分析工具 阅读全文
posted @ 2021-06-28 19:54 pyjetson 阅读(11941) 评论(0) 推荐(0)
摘要:概述 ├── aac // 用于Android的全称Fraunhofer FDK AAC编解码器库,多媒体相关 ├── adeb // 为Android设备提供Ubuntu那样的shell环境,可以运行python,apt-get安装软件等等 ├── adhd // 用于监视A / V设备事件的守护 阅读全文
posted @ 2021-06-28 19:53 pyjetson 阅读(1379) 评论(0) 推荐(0)
摘要:概述 android/system/core/init目录下,init进程解析rc文件 rc文件三个关键字打头: on 为action service 为service import 引入其他rc文件 源码解析 1. ActionManager类 actionmanager用来收集action的 1 阅读全文
posted @ 2021-06-23 19:44 pyjetson 阅读(1139) 评论(0) 推荐(0)
摘要:概述 创建进程会话密钥 初始化属性服务-创建线程-建立socket通信-用来设置属性的 SELinux 第二阶段准备后续工作 初始化子进程终止信号处理函数 初始化init进程唤醒函数-使用eventfd机制-唤醒来处理action 设置mount namespace 新建subcontext进程-建 阅读全文
posted @ 2021-06-18 20:15 pyjetson 阅读(1108) 评论(0) 推荐(0)
摘要:概述 1. 按context来进行分类 属性是以context为基础的 (1)读/system/etc/selinux/plat_property_contexts文件,按照Trie形式,组织成树形形式 三种情况 (1)ro.boot. u:object_r:exported2_default_pr 阅读全文
posted @ 2021-06-18 20:13 pyjetson 阅读(913) 评论(0) 推荐(1)
摘要:概述 android/system/core/libmodprobe-first stage init阶段用来加载内核模块的 源码解析 1. Modprobe模块 1.1 Modprobe构造函数 // "/lib/modules","modules.load" Modprobe::Modprobe 阅读全文
posted @ 2021-06-15 20:12 pyjetson 阅读(1575) 评论(0) 推荐(0)
摘要:概述 粒子的属性: 寿命 a_lifetime 开始位置 a_startPosition 结束位置 a_endPosition 中心位置 u_centerPosition 颜色 u_color随机生成 时间 u_time持续一秒钟 1000个粒子,在1秒钟的时间,从开始位置,线性移动到结束位置。 1 阅读全文
posted @ 2021-06-13 22:50 pyjetson 阅读(276) 评论(0) 推荐(0)
摘要:概述 android/system/core/liblog-logd的接口函数库 源码解析 1. logger_write-往logd写消息 1.1 __android_log_set_logger void __android_log_set_logger(__android_logger_fun 阅读全文
posted @ 2021-06-12 21:40 pyjetson 阅读(235) 评论(0) 推荐(0)
摘要:概述 android/system/core/base-log打印,字符串,文件读写 源码分析 1. logging模块 1.1 InitLogging-初始化进程的log输出 // android::base::KernelLogger和InitAborter void InitLogging(c 阅读全文
posted @ 2021-06-12 21:39 pyjetson 阅读(952) 评论(0) 推荐(1)
摘要:概述 android/system/core/fs_mgr/libdm和dm设备的创建 源码解析 1. DmTarget模块 1.1 DmTargetLinear构造函数 DmTargetLinear(uint64_t start, uint64_t length, const std::strin 阅读全文
posted @ 2021-06-10 19:34 pyjetson 阅读(1575) 评论(0) 推荐(0)
摘要:概述 android/system/core/fs_mgr/liblp目录下的库,和super分区的数据结构的解析相关 源码解析 1. utility模块-工具函数 1.1 SlotNumberForSlotSuffix-a为0-b为1 uint32_t SlotNumberForSlotSuffi 阅读全文
posted @ 2021-06-10 19:32 pyjetson 阅读(1763) 评论(0) 推荐(0)
摘要:概述 android/system/core/fs_mgr,system文件系统管理的主模块 源码解析 1. 解析fstab文件 1.1 ReadFstabFromDt-从dts中读取fstab // Returns fstab entries parsed from the device tree 阅读全文
posted @ 2021-06-10 19:30 pyjetson 阅读(8379) 评论(0) 推荐(2)
摘要:概述 android/system/core/libcutils系统的一些工具库 源码解析 1. uevent模块 1.1 uevent_kernel_multicast_recv ssize_t uevent_kernel_multicast_recv(int socket, void* buff 阅读全文
posted @ 2021-06-10 19:29 pyjetson 阅读(733) 评论(0) 推荐(0)
摘要:概述 1. 进行第一阶段挂载工作 主要工作: 1. 读dts中的fstab,以及fstab文件 2. 创建分区的设备节点,设备节点的文件链接。dm设备 3. 配置avb,创建dm-verity设备 4. 挂载分区 5. 将根目录切换到/system目录下 源码解析 android/system/co 阅读全文
posted @ 2021-06-10 19:21 pyjetson 阅读(4058) 评论(0) 推荐(1)
摘要:概述 在Ubuntu环境中下载并编译源代码 git clone https://github.com/bradfa/tlpi-dist.git make all 问题 1. <sys/capability.h>头文件找不到 userns_functions.c:25:10: fatal error: 阅读全文
posted @ 2021-06-06 23:32 pyjetson 阅读(436) 评论(0) 推荐(0)
摘要:概述 1. 多重渲染目标 多重渲染目标允许应用程序一次渲染到多个颜色缓冲区。利用多重渲染目标,片段着色器输出多个颜色(可以用于保存RGBA颜色,法线,深度或者纹理坐标),每个颜色用于一个连接的颜色缓冲区。 片段着色器输出多个颜色 → attachments指定为新创建的framebuffer → 从 阅读全文
posted @ 2021-06-06 20:34 pyjetson 阅读(835) 评论(0) 推荐(0)
摘要:步骤 注意:这个过程需要在Android源码环境中运行,可以使用adb端口转发工具,来连接服务器端的源码进行运行 关于adb端口转发:请看https://www.cnblogs.com/pyjetson/p/14828485.html 1. 运行gdbclient.py脚本 首先是使用vscode 阅读全文
posted @ 2021-06-05 11:25 pyjetson 阅读(1608) 评论(0) 推荐(0)