ubuntu 16下載編譯android6x源碼

vm-tools安裝

首先將你的用戶切換到root下。su root 。如果root沒有設(shè)置過密碼可以輸入sudo passwd root設(shè)置一下root密碼。再用su root切換。切換好之后在命令行輸入如下指令###

cd 文檔
ls
tar -xczf VMware....(解壓那個文件)
ls
cd vmware-tools-distrib
./vmware-install.pl

android源碼下載

git安裝及配置##

$ sudo apt-get install git
$ git config --global user.name xxxx
$ git config --global user.email xxxx

jdk安裝

$ sudo add-apt-repository ppa:openjdk-r/ppa  
$ sudo apt-get update   
$ sudo apt-get install openjdk-7-jdk

安裝依賴

$ 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

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

然后建立一個工作目錄(名字任意)

mkdir and6x
cd and6x

初始化倉庫

可以編輯 ~/bin/repo
REPO_URL = 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'


// repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-6.0.0_r4

或使用shell腳本,以下是腳本內(nèi)容download.sh
#!/bin/bash  
echo "======start repo sync======"  
        repo sync  # 第一次下載android源代碼
        while [ $? != 0 ]; do
        echo "======sync failed, re-sync again======"  
        sleep 2
        repo sync  #  如果出錯,隔2秒后回繼續(xù)調(diào)用repo sync下載android源代碼
        done

chmod 777 download.sh
./download.sh

原文:https://blog.csdn.net/a992036795/article/details/53462068 

android源碼編譯

(1) 修改 mydroid/art/build/Android.common_build.mk 文件,定位到75行,將下面的代碼

# Host.
ART_HOST_CLANG := false
ifneq ($(WITHOUT_HOST_CLANG),true)
  # By default, host builds use clang for better warnings.

  ART_HOST_CLANG := false
endif

ART_HOST_CLANG := false要設(shè)置成false要不然在編譯的過程中會出現(xiàn)下面的錯誤:

make: *** [out/host/linux-x86/obj/lib/libartd.so] Error 1
warning: string 'gsm_alphabet_default_charset' has no default translation.

#### make failed to build some targets (01:11:24 (hh:mm:ss)) ####

(2)在 .bashrc文件末尾添加:export USE_CCACHE = 1

echo export USE_CCACHE=1 >> ~/.bashrc

(3) 為了提高編譯效率,設(shè)置編譯器高速緩存(不然很容易提示內(nèi)存不夠之類的問題)##

prebuilts/misc/linux-x86/ccache/ccache -M 50G

(4) 終端執(zhí)行下面命令,提高Xmx的內(nèi)存##

export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096m"

(5) 接著導(dǎo)入編譯Android源碼所需的環(huán)境變量和其它參數(shù)

source build/envsetup.sh

(6)lunch 選擇1

(7)make -j16 (j后面跟cpy個數(shù),根據(jù)具體電腦實際情況設(shè)置)

(8)編譯成功如下圖所示##

image

運行源碼

進入源碼目錄

source build/envsetup.sh

lunch aosp_arm-eng 

emulator

啟動成功

image
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容