官网
- 搭建构建环境
ubuntu18及以上:sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig rsync
- 代码库
- 源码下载
- Android 操作系统文档
- Gerrit:
https://android-review.googlesource.com/q/status:merged - Issue Tracer:
https://issuetracker.google.com/issues
- Android Code Search
- Android开发者
- Android Studio开发环境
- 模拟器
其他专栏
代码在线阅读
镜像源
Android构建系统
- 可以使用
m soong_docs
生成这些html格式的文档
APEX
技术博客
eBPF
uftrace
Cuttlefish
- 搭建 Cuttlefish 运行环境
- 基于 Cuttlefish 调试 Android 内核
- Kleaf - Building Android Kernels with Bazel
- 编译cuttlefish内核遇到的问题
性能
- Android Studio 分析应用性能
- 性能可观测性工具在安卓系统性能优化中的应用&使用CoreSight技术调试
- eBPF/BCC - A better low-level instrumentation tool on Android
- BCC (BPF compiler collection) for Android
- Android binder 性能测试
- 使用 eBPF 扩展内核
- 启动时间优化
atrace
Perfetto
- 主页:
- 文档:https://perfetto.dev/docs/
- 系统跟踪
- 高级性能分析工具:Perfetto 跟踪
- Perfetto分析进阶
- Systrace 和 Perfetto的使用
- 快速部署你自己的 Perfetto 服务器
- Perfetto中SQL语句
- pefetto原理简析
- Perfetto工具集之traced_perf
- 性能分析工具 之 Perfetto基本使用
- systrace/perfetto中需要actrace打tag相关方法
- Perfetto —— 靠谱的trace利器
- 使用Perfetto查看内存与调用栈之间的泄露
- 关于使用perfetto(systrace)对卡顿进行分析-实战分析
- 命令
adb shell perfetto --out /data/misc/perfetto-traces/perf.perfetto-trace --buffer 100mb --time 10s sched freq idle ss am wm pm gfx view binder_driver hal dalvik camera input res memory bionic
Simpleperf
Systrace
Ftrace
uftrace
strace
启动时间
卡顿
资源消耗
内存
卡顿黑屏
关键技术
运行时
Binder
- Binder Trace
- https://github.com/weidongshan/APP_0003_Binder_C_App
- Android Bander设计与实现 - 设计篇
- Android Binder 进程间通讯机制梳理
- Android10.0 Binder通信原理(一)Binder、HwBinder、VndBinder概要
内存
调度
存储
输入子系统
兼容性
日志
功耗
安全
hook
SELinux
- Android SELinux 权限问题处理
- Android 使用 audit2allow 工具添加SELinux权限
- 简单selinux部分的解决
- SEAndriod
- The SELinux Notebook
- 罗升阳
- SEAndroid安全机制简要介绍和学习计划
- 1. SEAndroid安全机制框架分析
- 2. SEAndroid安全机制的文件安全上下文分析
- 3. SEAndroid安全机制的进程安全上下文分析
- 4. SEAndroid安全机制的Binde IPC保护支持分析
- 5. SEAndroid安全机制的Property保护支持分析
Android 权限
启动时验证
MTE
地址排错
HIDL/AIDL
显示
SurfaceFlinger
调试
- scrcpy
- LLDB Debugger:gdb的替代者
- bugreport
- tombstone
- xx
杂项
- eadb
- Linux ARM64内核硬件进程内存读写驱动、硬件断点调试驱动。硬件级读写Linux进程内存、硬件级下断点。
- PRoot
- hide-memory
- Android-eBPF监控所有系统调用
- Android使用硬件断点调试app
- 基于ReDroid搭建云手机
- https://www.jianshu.com/p/a6b5bedcc205
- https://zhaoyang.xlog.app/redroidmd
- https://blog.csdn.net/u012960155/article/details/124003870
- busybox
- 各种工具在不同平台的静态编译版本