日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android源码编译全过程记录(基于最新安卓5.1.0)【转】

發布時間:2023/12/10 Android 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Android源码编译全过程记录(基于最新安卓5.1.0)【转】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。