ubuntu16.04 編譯android 6 Marshmallow
阿新 • • 發佈:2018-11-09
之前一直是在別人配置的ubuntu上面編譯android,心血來潮,也想自己搞一下,以下是我的配置方法。
設定阿里源
sudo gedit /etc/apt/sources.list
把以下內容替換到sources.list
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com /ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun .com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
sudo apt-get update
安裝必要的工具和依賴包
安裝vim
git
sudo apt-get install vim git curl
安裝openJDK7
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-7-jdk
# 配置OpenJDK.開啟/etc/profile檔案:
sudo vim /etc/profile
# 在末尾追加下面程式碼:
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
# 啟用新配置:
source /etc/profile
安裝其他依賴
sudo apt-get install -y 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 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
下載Android原始碼
我是通過國內中科大的映象進行下載的具體可以參考https://lug.ustc.edu.cn/wiki/mirrors/help/aosp
下載repo工具
mkdir ~/bin
PATH=~/bin:$PATH
curl -sSL 'https://gerrit-googlesource.proxy.ustclug.org/git-repo/+/master/repo?format=TEXT' |base64 -d > ~/bin/repo
chmod a+x ~/bin/repo
vim ~/bin/repo
# 把 REPO_URL 一行替換成下面的:
REPO_URL = 'https://gerrit-googlesource.proxy.ustclug.org/git-repo'
下載Android原始碼
mkdir mAndroid
cd mAndroid
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-6.0.0_r12
repo sync
編譯Android
編譯之前,需要改一處地方
修改 mydroid/art/build/Android.common_build.mk
檔案,定位到75行,將下面的程式碼:
ifneq ($(WITHOUT_HOST_CLANG),true)
改為:
ifeq ($(WITHOUT_HOST_CLANG),false)
最後,就是source,lunch,make了
source build/envsetup.sh
lunch 1
make