Android ROM開發–ubuntu下編譯CyanogenMod產生SDK

來源:互聯網
上載者:User

由於CM2.3.7存在某些問題,所以如果需要使用穩定版本的CyanogenMod 2.3.4編譯並且相應的vendor檔案的話,可以到我的網盤中下載。

vendor:http://115.com/file/dpi59mxv

在開發定製ROM的時候經常會在源碼中添加自訂的SDK,比如小米的MIUI裡很多添加進來的功能在編碼的時候都是使用自訂的方法,這些都是需要編譯進SDK中的,開發人員在開發的時候也會通過自己產生的SDK開發軟體,調用新添加的方法。比如:android sdk中沒有hello()這個方法,如果開發軟體的時候要讓這個方法有效,我們可以將這個方法加入到源碼中編譯產生SDK即可。

本篇先不講如何添加模組,後繼會加上。本篇只是如何通過編譯CyanogenMod產生SDK,因為這一步看似只有一個命令,其實面臨這很多的風險。

首先你確保你已經能夠成功編譯產生cm刷機包了,如果沒有,經參考:http://www.cnblogs.com/loulijun/archive/2012/02/22/2361533.html

當然,不同機型brunch的時候版本也不同,要知道你的開發機的代號。我的開發機是HTC Desire Z,代號:vision

 

一、替換vendor目錄下相應的檔案夾,如vision

這一步主要用來編譯源碼,具體編譯過程參考前一篇,只不過需要說明一點。

可能因為版本修改等原因,直接通過. /extract-files.sh可能會缺少某些包,或者庫檔案。在執行 . get-rommanager的時候因為擷取的是最新的資訊,所以也可能會在編譯時間出錯。

所以,為了避免這些,將網盤中的相應檔案夾(如vision)替換掉你的vendor/htc目錄下的vision即可。因為那些檔案都是已經測試過的,相應的cm源碼

 

二、備份userdata.img檔案

為什嗎?因為如果不提前拷貝出來的話如果遇到如下的錯誤那你就悲劇啦。

development/build/sdk.atree:71:couldn't locate source file:userdata.img

make:***[out/host/linux-x86/sdk/android-sdk_eng.loulijun_linux-x86.zip]錯誤 44

在成功編譯產生刷機包後,會在cyanogenmod/out/target/product/vision下產生包括刷機包(類似cyanogen_vision-ota-eng.loulijun的zip包就是),system.img,userdata.img,ramdisk.img等鏡像檔案、kernel核心等相關資訊;如

注意:你在這一步需要做的是備份userdata.img或者整個vision(或其他名字),一會會用到

簡單介紹下這幾個鏡像檔案

system.img:包括了主要的包和庫檔案

userdata.img:包括了使用者資料,主要使用者初始化系統

recovery.img:recovery燒錄模式需要的檔案,另一中燒錄模式是fastboot(比如我們刷機時需要刷recovery)

ramdisk.img:模擬器的檔案系統

boot.img:編譯核心原始碼產生的核心鏡像

三、編譯SDK

再一次,前提是你編譯好了cyanogenmod(如果直接編譯可能會出問題),而且還沒有make clean(清楚編譯資料)

$cd cyanogenmod

$make sdk  

(上面的命令如果是make -j4 sdk會卡死電腦,很慢)

然後開啟out/target/product/vision目錄,觀察一會後會發現裡面的 資料突然消失了很多,其他的檔案最後也產生了,包括刷機包,然而,就是這個userdata.img遲遲不產生。沒關係,將拷貝好userdata.img檔案粘貼進vision中(發現裡面的userdata.img消失的時候就粘貼過去)。這個問題折磨了我很久很久。

好了,等一會就會發現我們的SDK產生了,它在out/host/linux-x86/sdk下面,這就是你產生的SDK,把它配置到環境變數中就可以使用了

產生後的目錄如下

 

四、使用SDK

替換原有sdk,配置環境變數

$vim .bashrc

在最後加入或者修改為,儲存退出

export PATH=$PATH:/home/loulijun/cyanogenmod/out/host/linux-x86/sdk/android-sdk_eng.loulijun_linux-x86

$source .bashrc

使其生效

然後到eclipse中開啟Window--Preferences--Android--SDK Location,找到SDK目錄,apply即可

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.