本文轉(zhuǎn)自迅為4412開發(fā)板實戰(zhàn)教程書籍:http://www.topeetboard.com 迅為是基于Ubuntu12.04.2平臺做開發(fā),所有的配置和編譯腳本也是基于此平臺,沒有在其它平臺上測試過。如果你對Linux和Android開發(fā)很熟悉,相信你會根據(jù)錯誤提示逐步找到原因并解決,錯誤提示一般是選用的平臺缺少了某些庫文件或者工具等原因造成的;建議初學(xué)者使用和迅為一致的平臺。 Uboot、Kernel以及Android等的編譯環(huán)境看似復(fù)雜,其實只需要抓住以下四個要點。 (1)Uboot、Kernel編譯器的安裝。編譯器在光盤中都有提供,在需要使用的步驟中,會說明編譯器在光盤中的位置。 (2)設(shè)置環(huán)境變量。Uboot、Kernel、QtE、Qtopia編譯器的環(huán)境變量設(shè)置后,編譯的時候,系統(tǒng)才能找到編譯器。 (3)Android文件系統(tǒng)的編譯器。編譯器需要使用Ubuntu系統(tǒng)自帶的gcc編譯器,但是版本不對,所以需要降低版本。迅為將這個過程編寫了成幾個簡單的命令,用戶只需要挨個執(zhí)行命令即可。 (4)庫文件。搭建過程中會給通過執(zhí)行簡單的腳本命令來安裝庫文件,復(fù)雜的步驟變的簡單有效。 另外,如果用戶想了解編譯環(huán)境具體是怎么搭建起來的,可以利用提供的腳本文件和命令來學(xué)習(xí)。 1. 使用搭建好的編譯環(huán)境 兩種搭建編譯環(huán)境的方式,一種方法是用戶安裝虛擬機(jī),然后安裝基礎(chǔ)的Ubuntu12.04.2系統(tǒng),利用迅為提供工具和詳細(xì)的使用步驟,搭建編譯環(huán)境;另外一種方法是用戶安裝虛擬機(jī),然后直接加載“搭建好的Ubuntu鏡像”,用戶只需要修改一下編譯器的環(huán)境變量,就可以直接用來編譯源碼。 以下詳細(xì)講解如何搭建編譯環(huán)境。 需要注意的是,搭建過程中用到的各類軟件,都需要和手冊提到的版本保持一致,如果使用的是“搭建好的鏡像”,則可以跳過這一節(jié),但是編譯的時候要針對性的設(shè)置一下環(huán)境變量。 2.安裝基本軟件 Ubuntu系統(tǒng)需要一些基礎(chǔ)軟件,便于后續(xù)使用。 (1)安裝虛擬機(jī)“Vmware_Workstaion_wm” (2)然后使用虛擬機(jī)安裝“Ubuntu12.04.2初始系統(tǒng)”。 (3)安裝完成后進(jìn)入Ubuntu的終端,激活root用戶; (4)接著登錄root用戶; (5)虛擬機(jī)設(shè)置聯(lián)網(wǎng)、CPU、內(nèi)存、USB等; (6)將Ubuntu數(shù)據(jù)源地址修改為國內(nèi)163服務(wù)器地址; (7)使用“apt-get update命令”更新數(shù)據(jù)源; (8)在Ubuntu安裝軟件vim,apt-get install vim; (9)在Ubuntu安裝軟件ssh,apt-get install ssh。 3.交叉編譯工具編譯的時候需要用到交叉編譯工具,本小節(jié)介紹如何安裝編譯Uboot和Kernel的編譯工具arm-2009q3。 提供的交叉編譯工具是用戶光盤“02_編譯器以及燒寫工具”→“arm交叉編譯器”文件夾中的壓縮包“arm-2009q3.tar.bz2”。 使用SSH工具將交叉編譯工具拷貝到 Ubuntu12.04.2系統(tǒng)的文件夾“usr”-->“l(fā)ocal”-->“arm”中,local下默認(rèn)沒有arm文件夾,可以新建一個。 使用命令“cd /usr/local/arm/”進(jìn)入/usr/local/arm文件夾,然后使用解壓命令“tar -vxf arm-2009q3.tar.bz2”解壓壓縮包。 接著修改交叉編譯工具路徑,需要修改環(huán)境變量。在Ubuntu命令行中,執(zhí)行命令“cd /root”和“vim .bashrc”,打開環(huán)境變量文件“.bashrc”。 如下圖所示,在“.bashrc”文件中的最后一行添加如下信息: “export PATH=$PATH:/usr/local/arm/arm-2009q3/bin” ![]() 修改完成后保存退出。執(zhí)行更新環(huán)境變量“source .bashrc”的命令。 最后,在Ubuntu命令行中輸入命令“arm”,然后按TAB鍵,如果在命令行中能夠看到arm編譯器的信息,就表明交叉編譯工具安裝成功。如下圖所示。 ![]() 為了方便用戶,我們將庫文件和JDK的安裝命令制作成了腳本文件,用戶只要執(zhí)行兩個腳本就可以安裝庫文件和JDK。這兩個腳本在用戶光盤“02_編譯器以及燒寫工具”→“tools”文件夾下的壓縮包“Android_JDK.tar.bz2”中。 用戶將壓縮包拷貝到Ubuntu系統(tǒng)中,解壓壓縮包會生成文件夾“Android_JDK”。使用cd命令,進(jìn)入解壓出來的“Android_JDK” -->“jdk6”文件夾。如下圖所示,使用命令“./install-sun-java6.sh”運(yùn)行腳本文件“install-sun-java6.sh”。需要注意的是,這條命令執(zhí)行完畢可能會耗時15分鐘以上。執(zhí)行腳本的時,根據(jù)提示輸入對應(yīng)的選擇命令。 ![]() 前一個腳本運(yùn)行完畢之后,如下圖所示,進(jìn)入解壓出來的文件夾“Android_JDK”中,執(zhí)行命令“./install-devel-packages.sh”運(yùn)行腳本“install-devel-packages.sh”,安裝庫文件,需要注意的是,這條命令可能會耗時40分鐘以上。上面腳本執(zhí)行的時候,需要根據(jù)提示輸入選擇命令。 ![]() 上面這個腳本執(zhí)行完畢的時候,要注意一下是否有些庫文件提示沒有安裝。如果發(fā)現(xiàn)有庫文件沒有安裝的情況,有可能是網(wǎng)絡(luò)不好或者下載源丟失。這個時候請使用一下更新下載源的命令”apt-get update“,然后再執(zhí)行一下上面的兩個腳本。 例如,如下圖所示,再次運(yùn)行“./install-devel-packages.sh”之后,如沒有提示‘無法安裝的庫和軟件’,那么表明已經(jīng)安裝完整了。 ![]() 最后介紹降低Android編譯器GCC版本的方法。 使用Ubuntu編譯Android的時候需要用到Ubuntu系統(tǒng)自帶的GCC4.4.7編譯器,但是安裝的Ubuntu12.04.2版本,它的GCC版本過高,所以這里需將GCC編譯器的版本降低到4.4.7。 進(jìn)入前面解壓的文件夾“Android_JDK”中,找到文本“update_gcc.txt”,打開文本“update_gcc.txt”后會看到里面有8條命令,這8條命令需要在Ubuntu命令行中依次執(zhí)行。 使用命令打開“update_gcc.txt”文件,如下圖所示。 ![]() 在依次執(zhí)行了這8條命令之后,Ubuntu系統(tǒng)就將gcc的版本降低到4.4.7。使用命令“gcc -v”,可以看到gcc的版本為4.4.7了。 在執(zhí)行這8條命令時,只有第一條命令會耗時10分鐘左右,其它的都會很快完成。需要注意的是,命令一定要依次執(zhí)行,不能有遺漏。 |