摘要: 概述 在launcher中点击应用来启动应用。 1. 调用流程 1.1 start-activity-call ActivityTaskManagerService类:startActivity -> ActivityStarter类:startActivityMayWait -> mSupervi 阅读全文
posted @ 2021-08-08 14:53 pyjetson 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 概述 在launcher中点击应用来启动应用。 启动应用的过程中,用intent通过PMS来查询对应的activity信息,得到ActivityInfo信息和applicationInfo信息 1. 调用流程 PackageManagerInternalImpl类:resolveIntent -> 阅读全文
posted @ 2021-07-31 22:15 pyjetson 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 概述 zram-writeback就是像电脑的swap分区那样,将zram中的压缩数据,写回到磁盘当中 执行流程 开机的时候:StorageManagerService: handleSystemReady -> if (!zramPropValue.equals("0") // persist.s 阅读全文
posted @ 2021-07-26 21:01 pyjetson 阅读(1797) 评论(0) 推荐(0) 编辑
摘要: 概述 编译emulator使用的qemu的kernel,调试内核 1. emulator内核编译 # 下载内核 git clone https://android.googlesource.com/kernel/goldfish.git # 切换分支,android-10.0.0_r13 tag对应 阅读全文
posted @ 2021-07-10 01:05 pyjetson 阅读(1909) 评论(0) 推荐(0) 编辑
摘要: 概述 使用伪终端的方式来处理子进程的log输出,logwrapper会等待子进程执行完毕之后再退出 源码解析 1. logwrap模块 1.1 logwrap_fork_execvp // {"/system/bin/vdc","cryptfs", "encryptFstab", attempted 阅读全文
posted @ 2021-07-06 21:00 pyjetson 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 概述 在launcher中点击应用来启动应用。 launcher发一个intent来启动应用。 1. 应用图标 通过android studio的tools → layout inspector工具可以看到,桌面上的app图标使用的是DoubleShadowBubbleTextView类,第二级菜单 阅读全文
posted @ 2021-07-04 12:25 pyjetson 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 概述 编译ijkplayer项目 配置 (1)安装git yasm sudo apt-get install ysam (2)安装android studio和android sdk https://dl.google.com/android/repository/sdk-tools-linux-4 阅读全文
posted @ 2021-07-02 19:32 pyjetson 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 概述 源码解析 1. NetlinkListener模块-处理socket消息的 1.1 NetlinkListener构造函数 NetlinkListener::NetlinkListener(int socket) : SocketListener(socket, false) { mForma 阅读全文
posted @ 2021-06-30 20:19 pyjetson 阅读(121) 评论(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 阅读(1013) 评论(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 阅读(746) 评论(0) 推荐(0) 编辑