Android源碼編譯全過程記錄(基于最新安卓5.1.0)【轉】

本文轉載自:http://blog.csdn.net/drg1612/article/details/44802533

我的編譯條件:

1 Ubuntu Kylin 14.04 長期支持版 下載地址 :?http://www.ubuntu-china.cn/download

2 我的電腦是聯想G470 i3處理器 內存4G,120g固體硬盤,配置不高,但是足夠編譯了(編譯花費了5小時)

3?Ubuntu我的分區狀況:/home 100g(至少80g),swap分區8g(至少4g),空間請務必滿足最低條件,不然無法編譯成功

4 一個速度快且穩定的v-p`n,我用的是green,線路選擇的是日本高速線路,差不多有10m帶寬?

?

前后我總共花費了3 天的時間,一直在看網上的教程,期間還有下載和編譯需要花費大量的時間,這個和我電腦配置低有很大的關系,最后結果還不錯,成功運行了虛擬機。

?

開始具體過程:

1 首先檢查是否滿足編譯的條件,缺一不可,如果你的swap分區(輸入 free -m查看)如果沒有4g,那么按照教程增加

具體教程見:http://blog.csdn.NET/mznewfacer/article/details/7334592

修改swap無需重啟電腦

還有v-p~n的事情,我是花錢買了一個月,18塊,不是廣告,畢竟花錢穩定點,同步安卓源碼庫必須要掛。

?

2 然后按照官網教程一步一步來

具體見http://source.Android.com/source/initializing.html

我總結一個簡化步驟:

(1)配置ubuntu的編譯環境(僅限于安卓5.1.0,其余版本請到官網看各自的編譯環境):

sudo apt-get?update

sudo apt-get?install openjdk-7-jdk

sudo apt-get?install bison g++-multilib?Git?gperf libxml2-utils make zlib1g-dev:i386 zip

(2)同步5.1.0源碼

2.1 安裝repo(用于同步庫的軟件,基于git)

mkdir?~/bin

PATH=~/bin:$PATH

curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

chmod a+x?~/bin/repo

2.2 開始下載源碼(需要很長時間(14g左右),我當時記得掛了一晚上,下載好了,具體時間要看各自的v-p~n速度)

mkdir WORKING_DIRECTORY

cd WORKING_DIRECTORY

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

repo sync

同步完成之后,目錄是這樣的:


(3)開始編譯

source build/envsetup.sh (編譯環境參數)

lunch aosp_arm-eng (目標設備)

make?-j4 (以4個線程開始編譯)

如果順利的話,我的機器花費了5個小時編譯(out目錄占29.1g),第一次編譯花費時間很長,以后增量更新速度就快了,編譯時間具體看個人機器了,編譯完成之后,終端會顯示:

?

然后輸入emulator運行虛擬機:

?

祝各位編譯順利!

?

3 我遇到的問題

3.1問題1:過時的API

?注: 某些輸入文件使用或覆蓋了已過時的 API。
注: 有關詳細信息, 請使用 -Xlint:deprecation 重新編譯。

?

如果此問題造成編譯停止,請看有沒有執行過:sudo apt-get?install bison g++-multilib git gperf libxml2-utils make zlib1g-dev:i386 zip

如果沒有造成編譯停止,請忽略

?

3.2問題2:內存溢出

make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libwebviewchromium_intermediates/LINKED/libwebviewchromium.so] 錯誤 1
make: *** 正在等待未完成的任務....

?

swap分區過小了,試試改成6g。

?

最后附上對我此次編譯幫助最大的文檔,感謝他們:

1 一些編譯出錯的解決方案

http://www.cnblogs.com/tao560532/p/3302444.html

?

2 目錄結構(學習資料)

http://www.it165.net/pro/html/201403/10393.html

?

3 深入理解Android編譯系統(學習資料)

http://blog.csdn.Net/huangyabin001/article/details/36383031

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/257790.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/257790.shtml
英文地址,請注明出處:http://en.pswp.cn/news/257790.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

第三方登錄接入-qq,weibo-java

開發之前 需求:網站接入qq,sina微博登錄,本文最后付效果圖: 說明:大部分網站本身是需要用戶概念的,很多操作依附于用戶,而qq或微博作為一種登錄方式指向用戶而已,我參考了一下其他網站的做法&am…

python替換img的路徑為新的路徑_以“五智”為核心 南寧電信打造5G時代數字家庭新路徑...

來源:通信信息報本報訊(特約記者 許輝堅)近日,中國電信廣西南寧分公司在協助廣西自治區通信管理局主辦的“電信用戶委員會體驗活動”中,以發揮用戶委員會的平臺和紐帶作用,促進持續改善電信服務質量為主題,以“五智”能…

0118——RTLabel和正則表達式

RTLabel和RegexKitLite都要導入第三方庫 使用Regexkitlite庫進行正則表達式的解析 1.庫是使用MRR,如果在ARC工程里面使用這個類,必須在project->build phases->compile resources里面將regexKitLite.m的編譯指令設為:-fno-objc-arc 2.需…

熱帶雨林繪畫軟件測試,兒童畫教程|色彩練習與思維創想——好熱鬧的熱帶雨林!...

課程類型綜合創意繪畫課程參考課時90分鐘工具材料勾線筆、水彩筆、卡紙課程構思小朋友們知道嗎?熱帶雨林是地球上抵抗力和穩定性最高的生態系統,常年氣候非常的炎熱,雨量充沛,沒有明顯的季節差異,生物群落演替速度極快…

對于一個IE8兼容性問題的反思

近期做了一個需求,功能非常easy,把用戶的優惠券數量讀取出來,然后顯示到“用戶中心”上。開發完畢后。別的瀏覽器正常。可是到IE8上就不行了。并且,按下F12之后,就又能夠載入出來了。首先,找了前端人員&…

Grunt + Bower—前端構建利器

目前比較流行的WEB開發的趨勢是前后端分離。前端采用重量級的Javascript框架,比如Angular,Ember等,后端采用restful API的Web Service服務,通過JSON格式進行數據交互。 對于后端服務語言來說,不論是Ruby的rake&#xf…

apache服務器性能診斷,Apache服務器性能評測

。51Testing軟件測試網m#z"fX}0H:P{(bHP~bd7h5z7I(Sn3H01.比較現有T2000 Apache2.2.8經過優化前后的效果51Testing軟件測試網 R4VsR^4MO!G7fWebserver IP:10.56.234.3151Testing軟件測試網e{]Q/\(p|優化前httpd.conf:da*Z"[d0----------------…

Linux命令行編輯快捷鍵

2019獨角獸企業重金招聘Python工程師標準>>> ctrl ? 撤消前一次輸入 ctrl c 另起一行 ctrl r 輸入單詞搜索歷史命令 ctrl u 刪除光標前面所有字符相當于VIM里d shift^ ctrl k 刪除光標后面所有字符相當于VIM里d shift$ 刪除 ctrl d 刪除光標所在位置上的字符…

kali裝電腦_Kali Linux可以安裝到平板電腦嗎?

在用Windows的電腦上克隆Kali插入U盤.運行Win32 Disk Imager.選擇Kali Linux ISO文件作為被克隆的文件,然后核實要克隆的U盤是否正確.克隆完成后,從Windows機器安全彈出U盤.現在你可以用U盤啟動Kali Linux了.在用Linux的電腦上克隆Kali在Linux環境下制作可啟動的Kali Linux U盤…

思科查看服務器啟動配置文件,啟動配置檢查UCS

本文解釋如何使用UCS將啟動功能和命令迅速執行配置狀態檢查。UCS將啟動功能允許用戶迅速執行一粗略檢查為了保證刀片適當地配置允許BIOS繼續。意志啟動配置檢查是驗證CPU和DIMM配置。此檢查迅速幫助用戶調試啟動問題。思科UCS在意志啟動配置檢查提供幾個工具幫助。這些工具包括…

lnmp下配置虛擬主機

一:首先熟悉幾個命令 which php ---> which是通過 PATH環境變量到該路徑內查找可執行文件,所以基本的功能是尋找可執行文件 whereis php ----> 將和php文件相關的文件都查找出來 service php-fpm/nginx/mysqld restart 重啟服務 二&…

AssetBundle.CreateFromFile的有趣事情

有趣的事情發生了: [MenuItem("AssetBundles/Build AssetBundles")] staticvoid BuildABs () { AssetBundleBuild[] buildMap new AssetBundleBuild[1]; buildMap [0].assetBundleName "test.assetbundle";//打包的資源包名稱 string[] resou…

[cocos2dx筆記010]用于UI的事件管理器

cocos2dx有一個編輯器:cocostudio。眼下來說,已經是比較好用了。僅僅要載入導出的資源。就能夠用上了。省去手動搭建面的麻煩。可是。非常多須要事件的地方,操作比較麻煩,所以這里提供一個事件管理器來集中和簡化管理事件。對于C事…

異形3×3魔方還原教程_【理論篇】三階魔方4.33千億億種變化是怎么計算出來的?...

本篇文章主要介紹三階魔方總狀態數是如何計算出來的,并介紹了兩種算法,盡量保證語言通俗易懂,不涉及高深的理論知識(當然我也不懂:P)一、4.33千億億到底有多大?我們都知道三階魔方的總變化狀態數…

Jquery 對話框確認

$("#aa").click(function(){if(confirm("是否繼續")){$(#aa).fadeOut(500);} }) 轉載于:https://www.cnblogs.com/chen-lhx/p/5149469.html

datazen Active Directory AD 配置

今天苦心經營的datazen 鏈接AD,文檔已經無法吐槽了簡單的幾句話,根本不夠用。 先說一下鏈接AD 的好處吧, 1 首先免去設置密碼的麻煩,因為直接用AD賬號的密碼。 2 更安全,因為客戶可不想自己的自己的系統,開…

Android CardView卡片布局 標簽: 控件

CardView介紹 CardView是Android 5.0系統引入的控件,相當于FragmentLayout布局控件然后添加圓角及陰影的效果;CardView被包裝為一種布局,并且經常在ListView和RecyclerView的Item布局中,作為一種容器使用。CardView應該被使用在顯…

櫥柜高度與身高對照表_下一套房子裝修,櫥柜就照這樣打,布局尺寸這么詳細,不信不好用...

閑在家的時候,動手給自己做一頓色香味俱全的美食,是一個享受的過程。享受的,不僅僅是味蕾的體驗,擇菜、洗菜、切菜、下鍋...每一個環節都是。不過,這取決于你是否有一個好廚房;而廚房最最最重要的家具&…

DOSbox匯編集成環境下的具體設置

altenter能夠全屏幕,假設認為游戲執行速度不合適,能夠改動 cycles3000 。將3000適當調整大小。 3。執行 DOSBox,會打開兩個 DOS 窗體。我們僅僅需在例如以下窗體中鍵入 mount c h:\pal 此命令的作用為將 h:\pal 掛載為 C 盤,h:\p…

.NET手記-JS獲取Url參數

最近為App做活動專區,其中很多活動都是采用html 5頁面來制作的。一方面體量較小,制作快速,更新維護容易;另一方面,嵌入App后適配效果也不會很差。 這里我們采用混編形式來從native app傳參給web頁面,我們采…