close

寫到這裡,已經忙了兩天的編譯android sources有點疲倦了

過程不斷的錯誤、除錯、google、問學長、被噹

直在是有苦難言阿

簡單說一下這幾天的編譯過程

前兩篇多多少少有一些錯誤

0xdroid這是我第一份看的資料,有點簡單所以很多步驟都省略了就是

第一步安裝java5,找不到套件嗎,增加來源到etc/apt/sources.list就行了

以下是按確定就能安裝java5的權限圖

安裝java5.JPG 

$ sudo update-alternatives --config java

這行是如果你的系統內有兩個或以上的java且不同版本的話,用此選擇java5

第二步

Getting git:

$ sudo apt-get install git-core

安裝git-core

第三步

Getting repo:

$ curl -o ~/bin/repo http://android.git.kernel.org/repo 
$ chmod a
+x ~/bin/repo

安裝curl.JPG 
會有錯誤訊息應該是沒創bin這個資料夾的緣故

第四步

Download the 0xdroid source code:

$ mkdir beagle-donut

$ cd beagle-donut

$ repo init -u git://gitorious.org/0xdroid/manifest.git -b BRANCH_NAME

$ repo sync

這邊主要是創個資料夾,然後是下載程式碼, BRANCH_NAME 這個阿是要讓你替換的

網站有提供幾個供讀者選擇。

下面的圖呢,由於我犯傻沒換,所以換來白眼與無言

拿取androidSource.JPG 
基本上我是用下面這個
$ repo init -u git://gitorious.org/0xdroid/manifest.git -b beagle-eclair 成功的
至於另一個
$ repo init -u git://gitorious.org/0xdroid/manifest.git -b BRANCH_NAME -m mirror.xml
我會卡在87
reposync錯誤.JPG 
這上篇提過就不提了,試過很多種方法出了很多錯,最後最後
$ repo init -u git://gitorious.org/0xdroid/manifest.git -b beagle-eclair 
這行成功了。
sync完成.JPG 
 
第五步
Build 0xdroid from source
$ echo "TARGET_PRODUCT := beagleboard" > buildspec.mk 
$ echo
"INSTALL_PREBUILT_DEMO_APKS := true" >> buildspec.mk
 

這兩行會形成一個buildspec.mk的檔案。

NOTE: If you want to build DevKit8000 instead of Beagleboard,

replace the context "TARGET_PRODUCT := beagleboard" to "TARGET_PRODUCT := devkit8000".

由於我們的板子跟devkit8000差不多,所以也要改一下。

還有在make之前,需要光碟裡面diff檔抓到beagle-donut裡面來,還得作一下處理。

patch上.JPG

patch下.JPG

大概作一下處哩,詳請請google patch,簡單來說就是更新而已

第六步

$ make

但是但是,很不爭氣的他又卡住了

stop.JPG

卡住的訊息為:target Dex: framework

這個馬上google大神幫了我一個忙,讓我得以安心make

jserv大神

他說呢,問題出在 Android 裡頭 Dalvik VM 的 dx 工具,

在進行 Java stack-based bytecode轉換為 Dalvik register-based dex 時,

透過 SSA form 作若干優化動作需使用大量的記憶體,在您的狀況來說,

很可能就是 host 端 JVM 耗盡系統資源,

致使 Linux 記憶管理機制得將相關 process 所中止。

解決方法可以是關閉同時使用的程式、加大 swap 來延緩問題,

或者修改 dx script:out/host/linux-x86/bin/dx 仔細看看 defaultMx 的設定,做出適度的調整,如 "-Xmx256M"

即可

 最後make請耐心等待
 
arrow
arrow
    全站熱搜

    glitterHsin 發表在 痞客邦 留言(0) 人氣()