快速开始(AOSP编译)
- 1 1. AOSP源码编译
- 1.1 1.1 准备环境
- 1.2 1.2 安装Ubuntu22.04
- 1.3 1.3 安装和更新repo依赖
- 1.4 1.4 安装编译依赖
- 1.5 1.5 下载源码
- 1.6 1.6 编译Android源码
- 1.7 1.7 转换镜像格式为linux ext格式
- 1.8 1.8 拷贝镜像到运行目标
- 2 2. Linux程序编译
文档用于指导OpenFDE开发爱好者如何快速编译OpenFDE源码。编译工作包括AOSP代码编译和Linux程序编译。
1. AOSP源码编译
1.1 准备环境
AOSP源码编译需要准备一台多核的X86主机,内存要求16G,硬盘大小最低要求配备512G,这里建议优先使用固态硬盘,当然你也可以使用机械硬盘,但是编译速度可能会很慢。
1.2 安装Ubuntu22.04
准备好主机后,需要在你的环境上安装Ubuntu22.04, 友情提供下载链接:https://old-releases.ubuntu.com/releases/22.04/ 在这里找到ubuntu-22.04.3-live-server-amd64.iso下载。
1.3 安装和更新repo依赖
Android通常使用repo脚本管理源码树,方便大家用一个命令就可以下载几百个仓库。
安装curl、repo、wget工具
sudo apt install curl repo wget -y
获取repo脚本文件
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo && chmod +x repo && sudo mv repo /usr/bin/repo
把python3链接到python
sudo ln -sf /usr/bin/python3 /usr/bin/python
设置repo_url环境变量,以便后续repo检查更新
将repo_url添加到bash环境变量
1.4 安装编译依赖
1.5 下载源码
注意:从这一节开始,后续的操作都不要使用root用户,请务必切换到普通用户操作。
创建fde目录,并安装git工具
配置git账号和邮箱
这里记得把user.name的参数"openfde"和user.email的参数"openfde@openfde.com"换成你自己的用户名和邮箱。
下载fde的mainifests仓库
该步骤会按照fde manifests仓库初始化android源码树目录结构,其中-u表示指定从中检索清单代码库的地址;-b表示指定代码版本,1.2.3 表示文档编写时的最新版本,您可以前往https://gitee.com/openfde/manifests
查看最新的分支,以确定您可以下载的版本。
在执行repo init这条命令时,可能会出现Testing colorized output (for 'repo diff', 'repo status'): black red green yellow blue magenta cyan white bold dim ul reverse Enable color display in this user account (y/N)?
, 此时输入y继续执行即可。
同步代码库中的最新代码
repo sync
命令会耗时50min左右,这里需要用心等待,当然也会根据实际环境的网络情况耗时不同。如果执行失败,你可以尝试再次执行,直到成功。
1.6 编译Android源码
导入安卓编译环境变量
同步预编译的APK
syncFdeApk
命令会从公网对象存储中下载当前版本匹配的apk到aosp源码树对应位置。如果修改了对应的apk源码,需要重新编译apk,请参考Android APK编译
选择编译选项,使用24线程执行编译
整个编译过程一般耗时在1小时10分钟左右,如果在这一步中断,需要从"导入安卓编译环境变量"source build/envsetup.sh
开始重新执行整个编译环节。
如果在编译过程中出现下图中的编译错误,请忽略,不影响编译过程。
1.7 转换镜像格式为linux ext格式
1.8 拷贝镜像到运行目标
user@target:
表示后面用来编译Linux程序的ARMv8环境,其中user表示账户名,target表示机器的ip地址。这里务必加上后面的冒号!!!
2. Linux程序编译
2.1 编译前准备
Linux程序编译需要在ARMv8架构的主机上进行,你需要选定一个工程目录来编译和安装Linux相关程序,下面各小节的操作都在工程目录如openfde-linux/
下进行。如果不是首次编译,请确保将各个依赖库的代码同步更新到最新。
下面将详细介绍在不同的操作系统上编译Linux程序。
2.2 Kylin2303上编译Linux程序
2.2.1 设置要求
开始编译之前,请先前往系统设置-安全中关闭网络保护、应用保护和设备安全保护。
2.2.2 一键编译
你可以执行下列命令进行一键编译Linux程序。
如果想要了解更详细的编译过程和细节,请前往Kylin2303编译Linux程序