您好,登錄后才能下訂單哦!
本篇文章為大家展示了Android 2.2源碼編譯需注意哪些問(wèn)題,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
Android 2.2的編譯,從源碼直接make就ok。需要jdk6!這個(gè)編譯所需時(shí)間因機(jī)器配置不同而不同。我這次全部編譯大概用了兩個(gè)小時(shí)。編譯產(chǎn)生的文件在你源碼目錄/out/下面
編譯完了后編譯sdk,
cd ~/android/src . build/envsetup.sh lunch sdk-eng make sdk
這里需要注意的是:Android 2.2編譯sdk當(dāng)中有個(gè)編譯doc的部分需要用jdk5!網(wǎng)上有介紹很多辦法,我采用了直接注釋(即略過(guò)doc的編譯的辦法)。這樣就免去了將開(kāi)發(fā)環(huán)境中的jdk的版本換來(lái)?yè)Q去的。具體做法是:注釋文件 build\core\droiddoc.mk 中的ALL_DOCS += $(full_target)這一行即可(這一行前面加#即可)。
關(guān)于這一點(diǎn),可以這樣,在編譯源碼時(shí)用jdk5.0,編譯sdk時(shí)用jdk6.0,但是仍然要注釋文件 build\core\droiddoc.mk 中的ALL_DOCS += $(full_target)這一行。關(guān)于用兩個(gè)版本的jdk我是這樣的做的:去sun官網(wǎng)將jdk1.5和1.6的安裝包都下載回來(lái),都安裝,在/etc/profile中指定JDK_HOME JRE_HOME等環(huán)境變量,要切換版本時(shí),就在這邊的環(huán)境變量中寫(xiě)上對(duì)應(yīng)版本的路進(jìn)即可,然后source profile,然后java -version查看版本,有時(shí)可能要重啟才會(huì)生效)如圖
Android 2.2的sdk編譯OK后,在1的ou/host/linux-x86目錄下面會(huì)有sdk目錄生成。里面所產(chǎn)生的內(nèi)容和網(wǎng)上下載到的sdk基本類(lèi)似,如圖:(單擊放大)
安裝Eclipse的ADT插件。針對(duì)android 2.2的sdk至少需要0.96的ADT。你現(xiàn)在編譯的是Android 2.2的sdk,千萬(wàn)不要用現(xiàn)在官方已經(jīng)升級(jí)的8.0的adt,那樣會(huì)出現(xiàn)在在eclipse中認(rèn)不到模擬器。(2010/12/10更新)而且在安裝ADT插件時(shí),jdk需要jdk...6_21(我同事那個(gè)是6_15就報(bào)了空指針異常了,如果你重新裝完了jdk,注意更新java_home等環(huán)境變量)。
此時(shí),新建的Android 2.2的工程,編譯會(huì)出錯(cuò)。Unableto get buffer of resource assetfile。就是類(lèi)似前面的這樣的錯(cuò)誤。。。解決辦法網(wǎng)上也有很多。我采用了比較直接的:通過(guò)覆蓋android.jar包中的resource.arsc。這個(gè)resource.arsc文件可到win下面的sdk的android.jar中復(fù)制一個(gè)過(guò)來(lái),然后直接粘貼到編譯出來(lái)的android.jar中。
解決辦法是將build sdk時(shí)候的product該為sdk,有兩種方法:
1、使用lunch更改配置:
cd ~/android/src . build/envsetup.sh lunch sdk-eng make sdk
上述內(nèi)容就是Android 2.2源碼編譯需注意哪些問(wèn)題,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。