1. 程式人生 > >Android8.0 系統原始碼編譯

Android8.0 系統原始碼編譯

環境

編譯環境:Ubuntu18.04
硬體環境:ThinkPad

這裡寫圖片描述

編譯準備

安裝jdk

  1. sudo apt-get update
  2. sudo apt-get install openjdk-8-jdk
  3. sudo apt-get install openjdk-8-jre

安裝依賴

sudo apt-get install -y git flex bison gperf build-essential libncurses5-重點內容dev:i386
sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib


sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev
sudo apt-get install git-core gnupg flex bison gperf build-essential
sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-multilib
sudo apt-get install libc6-dev-i386

sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev
sudo apt-get install lib32z-dev ccache
sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4

編譯

source build/envsetup.sh

這裡寫圖片描述

lunch (選擇需要編譯的版本,在這裡博主選 2 -> 回車)
這裡寫圖片描述

make -j8
這裡寫圖片描述

遇到的問題:

出現 out of memory

在編譯命令之前,修改prebuilts/sdk/tools/jack-admin檔案,找到檔案中的這一行:
JACK_SERVER_COMMAND=”java -Djava.io.tmpdir=TMPDIRJACK_SERVER_VM_ARGUMENTS -cp LAUNCHERJARLAUNCHER_NAME”
然後在該行新增-Xmx4096m,如:
JACK_SERVER_COMMAND=”java -Djava.io.tmpdir=TMPDIRJACK_SERVER_VM_ARGUMENTS -Xmx4096m -cp LAUNCHERJARLAUNCHER_NAME”
然後再執行time make -8j

整個過程比較順利,祝大家玩得開心 !