我们可以用 Android Open Source Project (AOSP) 源码和相关的硬件特有二进制文件为 Google 的手机/平板,如 Nexus 系列,Pixel 系列等编译镜像,这有时为我们对 Android 系统的研究调试及开发提供了极大的便利。除此之外,为了 Android 系统能够得到更加广泛的应用,Google 官方还对两款参考开发板提供了支持,及 HiKey 和 HiKey 960 ,因而我们也可以为方便简单地为它们编译镜像。
QEMU 构建系统架构
这份文档旨在帮助开发者理解 QEMU 构建系统的架构。正如使用 GNU autotools 的项目一样,QEMU 构建系统有两个阶段,第一步开发者运行 configure
脚本确定本地构建环境特性,然后执行 make
构建整个项目。与 GNU autotools 的相似之处仅此而已,因此请忘掉你已知关于它们的东西。
BufferQueue 和 gralloc
理解 Android 图形系统,我们从场景背后的 BufferQueue 和 gralloc HAL 开始。
BufferQueue 类是 Android 中所有图形的核心。它的角色很简单:连接产生图形数据缓冲区的东西(生产者)和接受数据来显示或进一步处理的东西(消费者)。几乎所有在系统中移动图形数据缓冲区的东西都依赖于 BufferQueue。
Android 图形架构
每一个开发者都应该了解的关于 Surface,SurfaceHolder,EGLSurface,SurfaceView,GLSurfaceView,SurfaceTexture,TextureView,SurfaceFlinger,和 Vulkan 的东西。
Android 图形系统概述
Android framework 为2D 和 3D 提供了各种各样的图形渲染 APIs 来与设备制造商的图形驱动实现交互,因此对于那些 API 在上层如何工作有一个好的理解非常重要。这一页介绍驱动基于其构建的图形硬件抽象层 (HAL)。
Linux 权能综述
为了执行权限检查,传统的 UNIX 实现区分两种类型的进程:特权进程(其有效用户 ID 为0,称为超级用户或 root),和非特权用户(其有效 UID 非0)。特权进程绕过所有的内核权限检查,而非特权进程受基于进程的认证信息(通常是:有效 UID,有效 GID,和补充组列表)的完整权限检查的支配。
Android 的 HTTPS 证书过期异常
对于 HTTPS 服务器证书过期的问题,由于 Android 安全库的不断更新,尽管在证书验证的时候抛出的异常大同小异,但还是有一定的区别的。某些系统之间抛出的异常完全相同,另外的一些系统之间,抛出的异常则不太一样。