Android Contacts源碼Eclipse開發編譯環境搭建

此文不一樣於官方文檔給出的方案,之因此如此,基於如下考慮幾點考慮:咱們之因此拿源碼進行增量開發,通常而言,不是爲了整個工程,而是爲了其中某個特定的模塊,好比說ContactsLuancher 等;其次,官方方案有一個巨大的缺陷——優化後的模塊打包成apk頗有可能沒法在其餘系統上安裝,由於它有系統權限,而且一直籤rom的簽名,而這個簽名在其餘系統上是拿不到的。換句話說,除非你想作嵌入式,不然別這麼幹。html

具體步驟:linux

編譯源碼:因爲這些模塊依賴的包中有一部分是不開放的,因此,只能把整個源碼編譯一遍,而後拿出相關的jar包。android

關於如何編譯源碼網上有不少說明,都是用git把源碼下載下來(4G左右),而後配下相應的編譯環境。請參照:Justin Build Android Platform 。一般會遇到一些錯誤,編譯中止,這些錯誤一般都是一些庫函數找不到,這時候你只須要將相應的庫函數下載下來,也就是完善一下你的編譯環境,好比說這個錯誤:「git

/usr/bin/ld: cannot find -lzshell

collect2: ld returned 1 exit status函數

make: *** [out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt] Error 1 優化

ui

這個錯誤我曾經試了不少種方法,最後才發現就是google

缺乏lib32z1-dev,安裝便可:apt-get install lib32z1-dev spa

源文檔 <http://0123.blog.163.com/blog/static/47883120101024104416786/>

因此,若是有相應的錯誤,就把cannot find 後面那個東西,去掉「-l」,也就是相應的庫函數了,如上面就是缺乏了z函數。而後上網搜。

另外,聽說我比較好運用的是64位系統Ubuntu,且內存比較大,CPU也比較OK,因此編譯時錯誤比較少,編譯時間也比較短,大概1個鐘,而通常來講都要2個鐘,因此你們作好心理準備。

有相關編譯問題請諮詢:ernest.he2009@gmail.com

開始Eclipse之旅:

找到相關jar包,這個你若是熟悉Java確定很容易就知道,Android中不開放的包通常在frameworks底下很容易找到,具體路徑就是:out/target/common/obj/JAVA_INTERMEDIATE/frameworks_intermediate ,拿到class.jar就能夠了。可是在Contacts中比較特殊,須要另外一個phone包,這個同樣能夠拿到。

關鍵是拿到以後怎麼辦的問題。處理不當就會形成Eclipse掛掉。這裏就須要經過User Libraries來解決(參照下面的解決方案)。

這樣開發環境創建起來之後就是編譯了。爲了可以成功編譯運行。請參照如下解決方案:

解決方案

相關文章
相關標籤/搜索