1. 程式人生 > >在Ubuntu16.04上下載並編譯Android原始碼

在Ubuntu16.04上下載並編譯Android原始碼

Android原始碼位於Google的Git程式碼庫中,由於Android原始碼工程過於複雜龐大,所以Google以Git為基礎用Python指令碼,寫了一個管理工具Repo。

1.安裝Repo

在安裝Repo之前,假定已經安裝好了git。

mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

2.初始化Repo

首先建立一個資料夾,用來裝即將下載的程式碼。

madir aosp
cd aosp/

配置Git

git config --global user.name "windcake"
git config --global user.email "[email protected]"

執行init

repo init -u https://android.googlesource.com/platform/manifest

這樣下載下來的是master的程式碼。我個人想研究6.0的程式碼所以使用-b指定了分支

repo init -u https://android.googlesource.com/platform/manifest -b android-6.0.1_r17

3.下載

repo sync -j4

sync命令用於同步程式碼,-j4告訴Repo用4個執行緒下載。

4.安裝依賴庫

sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev
g++-multilib git flex bison gperf build-essential libncurses5-dev:i386
tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 dpkg-dev
libsdl1.2-dev libesd0-dev
git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4

5.安裝JDK

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

然後配置JAVA環境,在/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

然後檢查JAVA環境是否配置正確

java -version

6.開始編譯

為了提高編譯效率,需要設定快取。

echo export USE_CCACHE=1 >> ~/.bashrc
prebuilts/misc/linux-x86/ccache/ccache -M 50G

然後匯入編譯所需要的環境

source build/envsetup.sh

執行lunch選擇編譯目標

lunch

選擇1後,執行make命令開始編譯

make -j8

編譯成功之後會有如下日誌輸出

Creating filesystem with parameters:
    Size: 1610612736
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 8192
    Inode size: 256
    Journal blocks: 6144
    Label: system
    Blocks: 393216
    Block groups: 12
    Reserved block group size: 95
Created filesystem with 1682/98304 inodes and 139413/393216 blocks
Install system fs image: out/target/product/generic/system.img
out/target/product/generic/system.img+ maxsize=1644333504 blocksize=2112 total=1610612736 reserve=16610880

且在/aosp/out/target/product/generic目錄下會有system.img、userdata.img和ramdisk.img等檔案。

7.執行模擬器

模擬器執行需要四個檔案,分別是Linux Kernel映象zImage和Android映象檔案system.img、userdata.img和ramdisk.img。
執行emulator命令時,如果不帶任何引數,則Linux Kernel映象預設使用AOSP已經編譯好的,
而Android映象檔案則預設使用ANDROID_PRODUCT_OUT目錄下的system.img、userdata.img和ramdisk.img檔案。
所以我們需要預先配置環境

export PATH=$PATH:/aosp/out/host/linux-x86/bin
export ANDROID_PRODUCT_OUT=/aosp/out/target/product/generic

然後執行

emulator

與從Android Studio的圖形介面裡調起模擬器一樣,首次啟動需要漫長的等待。同時,如果啟動成功,這個漫長的等待也會放大成功的喜悅。

相關推薦

Ubuntu16.04下載編譯Android原始碼

Android原始碼位於Google的Git程式碼庫中,由於Android原始碼工程過於複雜龐大,所以Google以Git為基礎用Python指令碼,寫了一個管理工具Repo。 1.安裝Repo 在安裝Repo之前,假定已經安裝好了git。 mkdir ~

Mac下載編譯android原始碼

參考:     https://blog.csdn.net/u010963246/article/details/71480684     https://blog.csdn.net/qq_25333681/article/details/79838325     https

Android 在ubuntu下載編譯系統原始碼

網上也有很多這樣的教程,這裡只是把它記錄下來,方便日後檢視。 下載原始碼 分為以下幾個步驟: 1、配置安裝下載環境   配置 JDK環境   安裝curl、git-core軟體  sudo apt-get install curl  sudo apt-get inst

Ubuntu 14.04使用CMake編譯MXNet原始碼操作步驟(Python)

MXNet原始碼版本號為1.3.0,其它依賴庫的版本號可參考:https://blog.csdn.net/fengbingchun/article/details/84997490 。            為了通過編譯原始碼支援p

Ubuntu 14.04使用CMake編譯MXNet原始碼操作步驟(C++)

MXNet原始碼版本號為1.3.0,其它依賴庫的版本號可參考:https://blog.csdn.net/fengbingchun/article/details/84997490 build.sh指令碼內容為: #! /bin/bash real_path=$(realpath $0

下載編譯Android模擬器Linux核心goldfish教程

1. 下載goldfish原始碼 在Android原始碼根目錄下新建kernel資料夾: $ mkdir kernel $ cd kernel 下載原始碼: $ git clone http://android.googles

ubuntu16.04 編譯android 原始碼出現的錯誤

1、openjdk 版本不對 解決:2、/bin/bash: prebuilts/misc/linux-x86/bison/bison: 沒有那個檔案或目錄 build/core/binary.mk:609: recipe for target 'out/host/linu

ubuntu16.04編譯android6.0原始碼

最近想自己編譯一下android原始碼,上網查了不少資料,有很多都在說自己去谷歌下載原始碼,安裝git,repo什麼的,還有的文章說可以在windows下編譯,安裝個虛擬機器就可以了,不過本人電腦配置有點低,在虛擬機器跑的話可能會崩,所以,考慮再三,還是自己裝一個ubuntu

在Ubuntu下載編譯和安裝Android最新原始碼

        看完了前面說的幾本書之後,對Linux Kernel和Android有一定的認識了,是不是心裡蠢蠢欲動,想小試牛刀自己編譯一把Android原始碼了呢?一直習慣使用Windows系統,而Android原始碼是不支援在Windows上編譯上,於是決定使用虛擬機器

翻譯:如何在Ubuntu16.04安裝Mosquitto這個MQTT消息服務器對其進行安全配置

加ss ide 特定 path cert 安裝完成 再次 應用 ron 原文地址: https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-the-mosquitto-mqtt-m

下載編譯Chrome瀏覽器For Android

最近因為公司專案,需要對Chrome的某一模組進行修改後,相容公司的Android裝置,現記錄下Chrome的原始碼下載過程,作為筆記。 1. 準備Ubuntu系統,最好是物理機上安裝,因為Chrome首次編譯耗時較長,對硬體要求較高。我使用的Ubuntu版本為14.04.1。 2. 下載C

Ubuntu16.04搭建Android8.0編譯環境

1. 安裝AOSP編譯工具sudo apt install git-core sudo apt install gnupg sudo apt install flexsudo apt install bisonsudo apt install gperfsudo apt in

ubuntu16.04使用原始碼安裝caffe2

轉載請宣告,謝謝。 特別注意 安裝依賴 下載原始碼 編譯和安裝 測試 環境配置 特別注意 目前caffe2 Github更新頻繁,經常出現build error狀態,建議在如下狀態進行git操作。 安裝依賴 su

ubuntu12.04 64bit 編譯android原始碼時遇到的問題"make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates"

ubuntu12.04 64bit 編譯android原始碼時出現如下錯誤:         host Executable: cmu2nuance (out/host/linux-x86/obj/EXECUTABLES/cmu2nuance_intermediates/

Ubuntu16.04Android N開發環境配置

4.設定環境變數輸入如下命令開啟profile檔案$ sudo gedit /etc/profile在檔案末尾追加下面內容export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64export JRE_HOME=/usr/lib/jvm/java-1.8.0-open

chromium原始碼下載編譯

目前,chromium的原始碼已經全部遷移到了git管理,所以本文主要梳理一下下載chromium原始碼的過程。 一、概況 chromium現在分為四個大分支: canary:最前沿的版本,每天都發布,bug一堆,不適合新人 dev:每兩個星期釋出,

Mini2440交叉編譯工具在Ubuntu16.04的安裝

安裝arm-linux-gcc-4.4.3交叉編譯工具後(例如安裝在/opt/arm-linux-4.4.3目錄下),需要將目錄加入路徑。 修改 ~/.bashrc,在最後增加 PATH=%PATH:/opt/arm-linux-4.4.3/bin 還有個問題往往被忽略,現

【Caffe】Ubuntu16.04配置安裝caffe(Only CPU)

nts dia 使用 word sci oos evel 成功 eve 一、首先看看自己的系統,Ubuntu16.04,cpu,沒有Nvidia,沒有opencv 二、安裝依賴包 安裝protobuf,leveldb,snappy,OpenCV,hdf5, protob

Ubuntu16.04安裝virtualbox後無法裝載vboxdrv模塊

enforce install ins 裝載 available uefi oot 解決 quest 首先按照:http://blog.csdn.net/ipsecvpn/article/details/52175279 這個網址上的教程安裝, 安裝完成後報錯:大體意思就

hadoop搭建在Ubuntu16.04

source ive bak bsp hadoop2.7 ron penssh nic com 一、環境 Ubuntu16.04、Hadoop2.7.3、java8 系統安裝完成後建議先更新一下 apt源 1、復制原文件備份 sudo cp /etc/apt/sou