android學習教程 第二期:安卓的編譯方式

這一期呢主要講的就是安卓開發前的一些環境搭建,首先是有一臺Ubuntupc機,然後是相關命令的安裝,及源碼的下載編譯,和源碼目錄的介紹
[size=10.5000pt]一、Ubuntu的安裝
Ubuntu的安裝其實就是一個系統的安裝,自己只需要去Ubuntu的官網下載一個Ubuntuiso鏡像,然後按照官方的文檔進行安裝就行了,安裝完之後呢我們需要用Ubuntusudo apt-get install命令來安裝一些工具和庫文件(如下圖),這些是安卓進行編譯所必須的
安裝完這些就可以進行JDK的安裝了
[size=10.5000pt]二、配置java JDK
首先呢我們需要在Java的官網去下載JDK
我們安卓所依賴的JDK6U45的版本,我們可以在右上角進行搜索Java SE6 Downloads(如下圖)
進入之後向下找,一直找到下邊這張圖,點擊Accept License Agreement然後下載第四個jdk-6u45-linux-x64.bin文件,放到linux系統中
然後使用xftp放到Ubuntu系統下,直接把jdk-6u45-linux-x64.bin文件拖到jdk文件中
然後進入Linux系統中登錄編譯服務器,然後進入jdk目錄,裏邊會有我們下載的jdk-6u45-linux-x64.bin這個文件,然後我們需要給他加上一個可執行的權限,加完以後我們來執行一個這個.bin文件,然後等待完成。
然後我們可以看到裏面會多一個jdk1.6.0_45的文件,然後我們進入這個jdk1.6.0_45目錄的bin文件,然後我們來執行這裏的java執行程序,這時我們就會看到我們編譯安卓所需要的java jdk的版本爲1.6.0-45
然後我們需要配置我們的環境變量
進入工作目錄下,修改我們的bashrc文件
在最後加上我們的環境變量
我們只有source完我們的bashrc之後纔可以找到我們的java,否則是找不到的
最後我們可以看一下javaversion1.6.0-45,路徑也是我們所安裝的目錄,這樣我們的環境就配置完成了
[size=10.5000pt]三、源代碼
源代碼分爲兩部分,第一部分是bootkernel,代碼是lichee.tar.gz
第二部分是Android 代碼分爲四個包分別是android.tar.bz2.aa   android.tar.bz2.ab  android.tar.bz2.ac   android.tar.bz2.ad  四個包
對源代碼進行編譯
[size=10.5000pt]1.解壓源代碼 :解壓bootkernel用的是tar zxvf lichee.tar.gz
解壓Android用的是cat android.tar.bz2.a*|tar xj這樣就能將Android打到一個文件夾下
我們可以在Linux下來看一下我們的源碼可以看到裏邊有Android.tar.bz2.aa ab、 ac、 adlichee.tar.gz,我們可以使用這些來進行解壓,解壓完之後我們進入內核的目錄,可以看到這裏有一個腳本build.sh
我們來進入這個腳本內看一下,裏邊列出了編譯的腳本,boot版本呢裏邊列出了兩個版本,一個2.0,一個1.0,我們可以看一下當前目錄是1.0的版本,而我們所使用的是芯靈思A31S的開發板所以我們選擇第二條命令來編譯我們的boot和內核,編譯完之後會在out目錄下生成相關的文件uImagezImage
接下來我們再看一下安卓的目錄,把包解壓完之後就會生成一個android4.4的目錄,然後進入這個目錄來看一下,這裏有安卓源代碼每一個模塊的路徑
然後我們來編譯我們的安卓,我們所使用的是 .build/envsetup.sh
然後選擇lunch
Lunch的選擇仍然是fiber_a31st-eng或者是fiber_a31st-user
這樣環境變量就配置完了
Lunch配置完之後我們可以使用開發板配套的腳本把boot和內核拷到我們所指定的目錄下,這個腳本是系統寫好的
完成之後我們就可以做編譯了,我們使用make -j16(四核的話我們選擇16或者8這樣會快一些我已經編譯過了,這個時間長太長就不演示了
編譯完之後就會在當前目錄下生成out目錄
打開這個目錄out/target/product/fiber-a31st/ 這裏就是我們編譯生成的庫、二進制和image文件,當我們這個編譯生成完之後,就可以使用腳本打一個包,這個包就是我們開發板的燒錄包,我們所使用的是pack來進行打包的,完成之後我們可以使用和開發板配套的工具來進行燒錄,然後重啓一下
開發環境的配置,源代碼的編譯以及打包過程就是這些了
[size=10.5000pt]四、安卓源代碼的目錄結構和功能
上面呢就是我在第二期視頻上學到的一些東西,希望對想學安卓的朋友有一定的幫助。
這一期:http://blog.csdn.net/chengfeng135/article/details/49617973
http://blog.csdn.net/chengfeng135/
http://tiyubisai.com/video_news/news_135444.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章