002 源码编译
源码编译
目录结构
下面以瑞芯微提供的安卓11SDK来分析其源码目录结构:

除了安卓系统架构设计的目录,还有些重要的目录和文件:
android.bp:类似makefile,安卓采用了soong来替代make工具进行构建- bionic:安卓使用的C标准库,和GCC/MSVC提供的C库有些区别
- bootable:和引导程序相关的目录
- build:存放编译规则的目录
build.sh:RK提供的编译脚本,AOSP是没有的- cst:存放兼容性测试的代码
- developers:和应用开发相关的目录
- device:存放了
lunch命令支持的设备 - externel:一些开源组件
- out:存放编译结果
- pdk:本地开发套件
- platform_testing:平台测试
- prebuilts:存放资源文件,比如交叉编译器(这玩意居然都直接放到源码仓库里…)
- rkbin:RK提供的一些不开源的工具或者镜像
- system:底层文件相关
- uboot/kernel:RK针对它们的CPU适配的uboot/内核
- vendor:厂商定制的代码(各层都有,比如海康开发的一些安卓APK,framework层等)
编译方法
步骤分为3步:
- 1.将各种编译命令添加到环境变量:
source build/envsetup.sh - 2.选择使用的设备和模式:用
lunch工具进行 - 3.开始编译
RK给我们提供了一键编译脚本build.sh,通过它可以选择单独编译uboot/内核,或是直接编译整个安卓系统

All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
