天天看點

ubuntu 11.10(32位系統)下編譯android源碼

準備工作完成後,開始編譯工作。下載下傳下來的源碼有5G多,如果按照我之前寫的擷取源碼的話,源碼目錄為~/Android/source

一、環境設定

在lunch時,如果提示permission denied權限不夠的話,需要在源碼根目錄下執行,賦予目錄下所有檔案權限

這時候會lunch指令會列印出如下所示文段:

一、開始編譯

編譯過程可能會出現許多錯誤而中止,在此wayne将會把所有遇到的問題以及解決方法一一貼出來,以供以後參考。

1.Q:

解決方法:cd到源碼根目錄,執行:

找到

将其修改為

然後依次修改以下四個make檔案:

将其中的

修改為

2.Q:

解決方法:

修改以下語句

3.Q:

如果之前的依賴包都已經安裝成功的話,此處應該是交叉編譯工具權限的問題。這個問題隻要在文章開頭lunch時執行了賦予權限指令,就應該不會遇到了。

4.Q:

此處編譯錯誤是由于ubuntu 11.10采用了GCC4.6.1導緻的。

修改源碼目錄下/build/core/combo/HOST_linux-x86.mk檔案:

将以下語句

編譯時還有可能出現類似的錯誤,根據錯誤提示的關鍵詞比如g++錯誤、jre錯誤等,都是些細節問題,比較好解決。

經過兩小時左右的等待後,終于順利完成。編譯成功後會生成system.img等鏡像檔案,下面是編譯完成提示:

三、啟動所編譯的系統

編譯完之後會在out/target/product/generic目錄下生成system.img ramdisk.img userdata.img三個鏡像檔案。

在啟動模拟器之前,需要先為模拟器系統設定環境變量,執行gedit ~/.bashrc,新增環境變量如下:

最後,同步這些變化并啟動模拟器:

加載上我們所編譯出來的系統檔案,終于出現了期待已久的模拟器:

ubuntu 11.10(32位系統)下編譯android源碼

到這裡,源碼編譯就完成了,接下來就可以進行自己的改動測試了。依然,歡迎交流指正By wayne!

繼續閱讀