
Android 系统原理
l0neman
这个作者很懒,什么都没留下…
展开
-
Android so(ELF) 文件解析
文章目录前言生成 so 文件相关工具objdumpreadelf整体结构图头部结构段表结构字符串表结构程序表结构符号表结构重定位表结构其他结构解析代码打开 ELF 文件检查 ELF 文件解析 ELF 头部结构解析段描述表结构解析字符串表打印段描述表结构解析符号字符串表解析程序头表解析段解析符号表解析重定位表测试解析源码参考前言ELF 是一种可执行文件的格式,全称是 Executable and Linkable Format,即可执行和链接格式,它是 Unix/Linux 系统下的二进制文件的标准格式,原创 2020-11-21 13:02:07 · 3609 阅读 · 1 评论 -
Android Dex 文件解析
Android Dex 文件解析文章目录Android Dex 文件解析前言基本数据类型LEB128 类型uleb128leb128uleb128p1Dex 文件结构图Dex 结构说明hedaer_itemstring_idstype_idsproto_idsfield_idsmethod_idsclass_defscall_site_idsmap_listtype_listclass_data_itemcode_itemdebug_info_itemDex 文件解析构建 Dex 文件执行 Dex 文件解原创 2020-09-09 22:48:12 · 4504 阅读 · 0 评论 -
Android zygote 进程启动分析
Android zygote 进程启动分析文章目录Android zygote 进程启动分析前言概述zygote 进程启动zygote 进程入口AppRuntim.startAppRuntime.startVmAppRuntime.startRegZygoteInit.mainZygoteInit.registerZygoteSocketZygoteInit.preloadZygoteInit.startSystemServerZygoteInit.runSelectLoop整体流程图参考前言zygo原创 2020-08-24 21:33:16 · 866 阅读 · 0 评论 -
Android init 进程启动分析
Android init 进程启动分析文章目录Android init 进程启动分析前言概述init 进程入口内核日志TEMP_FAILURE_RETRY 宏信号处理时序图属性服务init.rc 文件.rc 文件语法init 启动阶段init 支持的 commandinit 支持的 option关键服务启动zygote总结附录IO 多路复用僵尸进程参考前言Android 系统启动后,内核会创建 0 号内核进程 idle 进程,然后 idle 进程通过调用 kernel_thread 函数,以 kern原创 2020-08-17 22:03:07 · 856 阅读 · 0 评论 -
Android 应用进程 ServiceManager 的实现
Android 应用进程 ServiceManager 的实现文章目录Android 应用进程 ServiceManager 的实现实名 Binder 与匿名 Binder实名 Binder匿名 Binder需求分析实现方案Service 方案ContentProvider 方案最终结论实现一个 Binder 服务动态注册 Binder 服务测试开源仓库参考实现一个普通应用进程中的 ServiceManager,可自由注册和获取 Binder 服务。文末给出开源仓库地址。Binder 相关基础可参考原创 2020-08-01 15:58:48 · 1330 阅读 · 0 评论 -
Android Binder 设计分析
Android Binder 设计分析文章目录Android Binder 设计分析前言Binder 的优势简介Linux IPCIPC 对比Binder 特点总结Binder 通信模型Binder 驱动ServiceManager 和 ServerClientBinderBinder 协议ioctlBINDER_WRITE_READ 写入BINDER_WRITE_READ 读取binder_transaction_data 结构Binder 层次概述Binder 应用层Binder Server 端Bi原创 2020-07-12 15:34:08 · 845 阅读 · 0 评论