在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.04上Android 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