文章目录
- 介绍
- 前期准备
- 构建LineageOS和LineageOS Recovery
- 安装SDK
- 安装构建软件包
- Java
- 创建文件夹
- 安装repo命令
- 将~/bin目录放在环境变量中
- 初始化LineageOS源码仓库
- 下载源码
- 准备设备特定的代码
- 提取专有文件
- 打开缓存以加快构建速度
- 开始构建
- 安装
- 成功了!那么,接下来是什么?
- 更多帮助
介绍
这些说明有望帮助您的Motorola Moto X 2014开始,解锁引导加载程序(如有必要),然后为您下载所需的工具以及LineageOS的最新源代码(基于Google的Android操作系统)。设备。使用这些,您可以从源代码构建LineageOS和LineageOS Recovery映像,然后将它们都安装到设备中。
前期准备
- 一台LineageOS支持的Android手机 例如摩托罗拉 moto X 2014
- 比较新的64位计算机(Linux,macOS或Windows),具有比较大的的内存和大约100 GB的硬盘(如果启用ccache或为多个设备构建,则更多)。 您拥有的内存越少,构建所需的时间就越长(目标为8 GB或更多)。 与传统硬盘相比,使用SSD可以大大缩短构建时间。
- 一条连接手机的数据线
- 比较好的网络和可靠的电源
- 对Android的基本操作和术语有所了解。 如果您已在其他设备上安装了自定义rom并熟悉了恢复操作,则将很有帮助。 了解一些基本的命令行概念,例如cd(代表“更改目录”),目录层次结构的概念以及在Linux中用/分隔的概念等,也可能会很有用。
好了让我们开始吧
构建LineageOS和LineageOS Recovery
NOTE: You only need to do these steps once. If you have already prepared your build environment and downloaded the source code, skip to Prepare the device-specific code
安装SDK
如果您以前没有安装过adb和fastbboot,则可以从Google下载它们。 提取运行:
unzip platform-tools-latest-linux.zip -d ~
现在,您必须将adb和fastbboot添加到PATH。 打开~/.profile并添加以下内容:
# add Android SDK platform tools to path
if [ -d "$HOME/platform-tools" ] ; then
PATH="$HOME/platform-tools:$PATH"
fi
然后,运行 source ~/.profile以更新您的环境变量
安装构建软件包
√ TIP: A package manager in Linux is a system used to install or remove software (usually originating from the Internet) on your computer. With Ubuntu, you can use the Ubuntu Software Center. Even better, you may also use the apt-get install command directly in the Terminal.
构建 LineageOS你需要
- bc bison build-essential ccache curl flex g+±multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev
对于16.04(xenial)之前的Ubuntu版本,请替换为:
- libwxgtk3.0-dev → libwxgtk2.8-dev
Java
不同版本的LineageOS需要不同的JDK(Java开发套件)版本。
- LineageOS 16.0: OpenJDK 1.9 (included by default)
- LineageOS 14.1-15.1: OpenJDK 1.8 (install openjdk-8-jdk)
- LineageOS 11.0-13.0: OpenJDK 1.7 (install openjdk-7-jdk)*
*Ubuntu 16.04和更高版本在标准软件包存储库中没有OpenJDK 1.7。 请参阅Ask Ubuntu问题How do I install openjdk 7 on Ubuntu 16.04 or higher?”。 请注意,使用PPA openjdk-r的建议已过时(PPA从未更新过openjdk-7-jdk的产品,因此缺少安全修复程序); 即使是最受支持的,也请跳过该答案。
创建文件夹
您需要在构建环境中创建一些目录。
要创建它们:
mkdir -p ~/bin
mkdir -p ~/android/lineage
~/bin目录将包含git-repo工具(通常称为“ repo”),而~/android/lineage目录将包含LineageOS的源代码。
安装repo命令
输入以下内容以下载repo二进制文件并使其可执行(可运行):
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
将~/bin目录放在环境变量中
在最新版本的Ubuntu中,~/bin应该已经在您的PATH中。 您可以通过使用文本编辑器打开~/.profile并验证以下代码是否存在来进行检查(如果缺少,则添加它):
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
然后,运行 source ~/.profile以更新您的环境变量
初始化LineageOS源码仓库
摩托罗拉Moto X 2014正式支持以下分支:
- cm-14.1
- lineage-16.0
输入以下内容以初始化源码仓库:
android/lineage
repo init -u https://github.com/LineageOS/android.git -b lineage-16.0
下载源码
要开始将源代码下载到您的计算机,请键入以下内容:
repo sync
LineageOS清单包含一个repo的默认存储库配置,我们强烈建议您使用该配置(即不要添加任何要同步的选项)。 作为参考,我们的默认值为-j 4和-c。 -j 4部分意味着将同时存在四个线程/连接。 如果您遇到同步问题,可以将其降低至-j 3或-j2。另一方面,-c将要求repo仅拉入当前分支,而不是GitHub上可用的所有分支。
准备设备特定的代码
下载源代码后,请确保您位于源代码(cd ~/android /lineage)的根目录下,然后键入:
source build/envsetup.sh
breakfast victara
这将下载您设备的设备特定配置和内核。
提取专有文件
现在,确保已通过USB电缆将Moto X 2014连接到计算机,并且已启用ADB和root,并且您位于~/android/lineage/device/motorola/victara文件夹中。 然后运行extract-files.sh脚本:
./extract-files.sh
打开缓存以加快构建速度
如果你想加速后续的构建,请使用ccache:
export USE_CCACHE=1
并将该行添加到~/.bashrc文件中。 然后,通过键入以下命令指定要ccache使用的最大磁盘空间:
ccache -M 50G
其中50G对应于50GB的缓存。 这需要运行一次。 从25GB到100GB的任何地方都将显着提高构建速度(例如,典型的1小时构建时间可以减少到20分钟)。 如果您仅针对一台设备构建设备,则25GB-50GB即可。 如果计划为不共享相同内核源的多个设备进行构建,则目标为75GB-100GB。 此空间将永久占用您的驱动器,因此请考虑到这一点。
您还可以启用可选的ccache压缩。 尽管这可能会导致性能略有下降,但会增加适合缓存的文件数量。 要启用它,请运行:
export CCACHE_COMPRESS=1
或者将这一行添加到~/.bashrc文件中。
开始构建
是时候开始构建了!现在,键入:
croot
brunch victara
构建应该开始了。
安装
假定构建已完成且没有错误(完成后将很明显),请在构建运行的终端窗口中键入以下内容:
cd $OUT
在这里,您会找到所有已创建的文件。 更重要的两个文件是:
- recovery.img,这是LineageOS恢复映像。
- lineage-16.0-20200307-UNOFFICIAL-victara.zip,这是LineageOS安装程序包。
成功了!那么,接下来是什么?
你已经做到了!欢迎加入自我建设精英俱乐部。您已经从头开始构建了自己的操作系统。你是你的领域的主人,希望你在这个过程中学到了一些东西,也得到了一些乐趣。
更多帮助
- #LineageOS-dev-Freenode IRC网络上的一个有用的实时聊天室(或“频道”)。