
Android系统开发和架构研究
文章平均质量分 89
在这个专栏,我会分享Android系统开发实践中的心得体会,对系统架构实现演变的理解, 特别是Android framework,native 和 kernel的相关研究。我也会收集我看到他人的优秀文章,源码分析等。
Omni-Space
专注Android, Mobile Security and AI
展开
-
Wifi模块—源码分析Wifi热点扫描2(Android P)
一 前言 这次接着讲Wifi工程流程中的Wifi热点扫描过程部分的获取扫描结果的过程,也是Wifi扫描过程的延续,可以先看前面Wifi扫描的分析过程。 Wifi模块—源码分析Wifi热点扫描(Android P) 二 图示调用流程 这次的调用流程比较简单就不画流程图了,而且流程是按三条不连贯的线路分析的。三 代码具体流程1 底层获取扫描结果 ...转载 2021-11-23 13:57:36 · 1236 阅读 · 0 评论 -
Wifi模块—源码分析Wifi热点扫描(Android P)
一 前言 这次接着讲Wifi工程流程中的Wifi热点查找过程,也是Wifi启动的过程延续,Wifi启动过程中会更新Wifi的状态,框架层也有相应广播发出,应用层接收到广播后开始进行热点的扫描。可以先看前面Wifi启动的分析过程。 Wifi模块—源码分析Wifi启动1(Android P) Wifi模块—源码分析Wifi启动2(Android P)二 图示调用...转载 2021-11-23 13:52:07 · 1920 阅读 · 0 评论 -
Android Container 系列: 显示切换
Switch and Display between ContainersBackgroundSurfaceFlingerSurfaceFlinger inside has a series of layers,which correspond to the windows of applications SurfaceFlinger overlaps the windows according to the Z value of layers,calculates the blanking转载 2021-05-02 23:59:33 · 667 阅读 · 0 评论 -
Android Container 系列:Container Switch
/dev/container deviceDevice Drive/dev/container device is a virtual one,device driver code is indrivers/staging/android/container.cin kernel Container device provide the function of register and switch for container By ioctl operating on the device..转载 2021-05-02 23:56:48 · 477 阅读 · 0 评论 -
Android Container 系列: 详细步骤
Step I :Compile Android Kernel Download source code;Kernel's subproject has kernel source code corresponding to the devices here: https://android.googlesource.com You can find kernel source code path corresponding to your device here http://s转载 2021-05-02 23:54:18 · 1366 阅读 · 1 评论 -
Android Container 系列:大概步骤
Compile Kernel (support cgroups & namespaces)Downloadkernelsource code fromAndroid X86to compile,kernel'sconfigfile is copied fromAndroid X86.On this basis,you need following compiler options to surpport LXC's environment.(1) About Namespace...转载 2021-05-02 23:53:00 · 897 阅读 · 0 评论 -
Android init第三、四部分详细分析
本文一定要在详细阅读了,系列的第二篇文章时候,再来阅读。/init程序第三部分 action_for_each_trigger("early-init", action_add_queue_tail); queue_builtin_action(wait_for_coldboot_done_action, "wait_for_coldboot_done"); queue_builtin_action(keychord_init_action, "keychord_init"转载 2021-05-02 23:45:28 · 305 阅读 · 0 评论 -
Android init.rc分析
1 前言什么是init.rc文件?import /init.usb.rcimport /init.${ro.hardware}.rcimport /init.trace.rcon early-init # Set init and its forked children's oom_adj. write /proc/1/oom_adj -16 # Set the security context for the init process. # This s转载 2021-05-02 23:44:19 · 625 阅读 · 0 评论 -
Android 启动分析 1
1.概述Android虽然被称作一种操作系统,其实它仍然使用的Linux的kernel。所以本质上可以说,Android是一个适用于移动设备的Linux发行版。也就是说,之前的分析Linux内核的经验可以拿来用于分析Android。不过,值得注意的是,Android除去对Linux内核的一些改动外,它的大部分代码还是在Linux内核启动后的用户空间程序上。所以,分析Android代码时,不仅要对Linux内核代码熟悉,还要对熟悉Linux系统编程要用到的函数,比如fcntl、mmap、open、read转载 2021-05-02 23:42:48 · 493 阅读 · 0 评论 -
Linux Container 研究报告
1. 综述lxc是Linux Container的用户态工具包。其代码由三部分组成:shell脚本,部分lxc命令是用shell脚本写就的。 c语言代码,最终编译成可执行文件。这部分代码也用来提供最终的lxc命令。但是这些代码以处理命令行参数,读取配置文件等为主。 c语言代码,最终编译为动态链接库liblxc.so。该动态库提供了lxc项目的大部分功能,如配置文件分析、日志记录、容器的创建、通信等。lxc命令的各项功能基本都是通过调用liblxc.so中的函数来完成的。在命名习惯上, 生成lx转载 2021-05-02 23:40:50 · 448 阅读 · 0 评论 -
Cgroup 研究报告
Control Groups (Cgroups) 是 Red Hat Enterprise Linux 6 (以后简称 RHEL6) 提供的一项内核功能。Cgroup是将任意进程进行分组化管理的内核功能。Cgroup提供了一个cgroup虚拟文件系统,作为进行分组管理和各子系统设置的用户接口。因此,要使用cgroup,必须先挂载cgroup文件系统:mount -t cgroup -o 子系统名 层级名(目录名) /sys/fs/cgroup/层级名(目录名)我们可以使用 Cgroups 为任转载 2021-05-02 23:26:28 · 517 阅读 · 0 评论 -
Android 操作系统架构
版权声明: 本站所有博文内容均为原创,转载请务必注明作者与原文链接,且不得篡改原文内容。为便于日常查阅本博客,可通过 Gityuan博客导航 方便检索文章一、引言众所周知,Android是谷歌开发的一款基于Linux的开源操作系统,从诞生至今已有10余年,这一路走来Android遇到哪些问题?大版本升级朝着什么方向演进?Android的未来如何?我的公号《Android 技术架构演...转载 2020-04-12 06:12:38 · 8201 阅读 · 3 评论 -
Android 8.0 中如何读取内部和外部存储以及外置SDcard
最近碰到询问我这个读取SDcard的问题, 很久没有看这部分了,所以大致看了一下, 顺便记录一下。在Android 8.0上做了测试。一般的Android App能读取的存储空间主要有三种:app自己的私有目录,也就是/data/data/《app 目录》。 读写这个目录不需要单独的权限。每个app只能读写自己的目录,而不能读写其他app的目录。 Android通过Seandroid对权限进行了管...原创 2018-02-10 05:18:45 · 17788 阅读 · 3 评论