下載編譯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

如果您以前沒有安裝過adbfastbboot,則可以從Google下載它們。 提取運行:

unzip platform-tools-latest-linux.zip -d ~

現在,您必須將adbfastbboot添加到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網絡上的一個有用的實時聊天室(或“頻道”)。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章