1、先說說硬體配置,我最開始是在Win7(I7 4770,8G RAM,2T硬碟)裡裝ubuntu10.10 64位系統(4G RAM,200G 硬碟)進行源碼編譯,大概花了3個多小時。而且還多次出現outofmemoryerror 錯誤。最後将硬體更新為I7 4770、16G記憶體、2T硬碟,不裝虛拟機,直接跑Ubuntu 10.10系統,Swap分區為16G,編譯一次大概花了40分鐘,沒有報任何錯誤。 是以不推薦在虛拟機裡面跑。
2、根據官方文檔配置編譯環境:
官方文檔說的是在“釋出包/Software/ServerInstall”目錄中使用root權限執行ServerInstall.sh腳本,如:
但是經過我的實際操作發現,腳本中對jdk的安裝配置指令無法執行,原因是它提供的源不對。我的解決辦法是從Oracle官網直接下載下傳jdk-6u45-linux-x64.bin,copy到/usr/lib/jvm(沒有的目錄要自己建)中進行安裝,然後再/etc/bash.bashrc中配置java的環境變量:
注意:xxx指代你安裝後的java目錄名。
然後再執行腳本:
3、重新登入後進入Android源碼解壓後的目錄$ANDROID_SRC,在根目錄下依次執行以下指令:
如果出現bison未找到之類的錯誤,使用
裝好即可。
3、所有錯誤都解決後,就可以執行
指令進行源碼的完整編譯了。注意我的CPU是I7 4770,屬于四核八線程,是以用-j8選項。而華為他們用的編譯伺服器是64核 CPU、32G記憶體,是以他們可以用-j32參數。總之,這個參數應該根據你的cpu來選。
4、完整編譯的結果就是在out\target\product\Hi3716CV200/下的Nand和Emmc目錄下都會生成相應的鏡像。接下來就是把這些鏡像燒寫到他們提供的開發闆上。
燒寫鏡像需要的工具:PC(Windows系統,因為華為隻提供了windows下的燒寫工具)、海思開發闆、usb轉序列槽線,網線,
将生成Emmc目錄拷貝到PC上。(之是以拷Emmc目錄,是因為我這個闆子的U14晶片焊接的是Emmc晶片,如果你的闆子焊接的是Nandflash,就要拷Nand目錄)。
将$ANDROID_HOME/devicehisilicon/bigfish/sdk/tools/windows目錄拷貝到PC上。windows目錄中存儲的是燒寫工具
拿一根usb轉序列槽線,連接配接闆子的J35和PC的USB接口上,打開超級終端。
拿一根網線,連接配接闆子的j13和PC的網口,并配置PC的IP位址為192.168.1.1
關閉開發闆電源,打開windows目錄中的Hitool工具,使用其中的HiBurn插件。具體配置見海思提供的視訊教程。配置好後,選擇”燒寫eMMC“,分區表檔案選擇Emmc目錄下的xml檔案,然後在下面的選項中把Emmc目錄中的所有鏡像配置進去。點選”燒寫“按鈕後,打開開發闆電源,就開始少寫了,燒寫完成會有提示。
5、燒寫完成後,使用HDMI線将開發闆連接配接到顯示器,啟動開發闆,開始會出現一段車展視訊(FastPlay),随後便會進入Android系統。但是,目前的系統還不能播放mkv,ts等視訊檔案,原因是沒有相關的庫檔案。這個得需要向華為索要音視訊庫,然後解壓,并将最後的.so檔案拷貝到Android系統的/system/lib目錄。拷貝方法:
将開發闆和PC分别聯網(必須得保證在同一區域網路下,沒測試兩者互聯,想來應該也是可以的),開發闆Ip:192.168.0.88,PC ip:192.168.0.86
在PC的指令行裡執行:
注意:最好在push後reboot前,在超級終端裡檢視/system/lib目錄下是否增加了一些音視訊庫檔案
至此,基于Hi3716c的Android系統開發的前期準備工作就完成了。