2010年5月10日 星期一

把GIT整合入Eclipse內 - 如何透過EGIT下載Android source code

有朋友問我,

哪一本Android的書講的最詳細,範例最多呢?


這答案應該不只我這麼說,很多老師們都也是這麼說的:

developer.android.com


沒錯,就是這個網站,上面的資料就是講的最詳細,最清楚的。但前提就是英文要夠好...(殘念)

不過若是中文,推薦這本書:Google!Android 2手機應用程式設計入門第三版(附光碟),寫的很詳細也很仔細,我不認識這位作者,不過看他的書,真的可以看到很多他用心的地方。推薦一下!

又有人問:上面大部分都是說明呀?有沒有範例阿?


有的~Android SDK中就有很多很棒的範例,像是看完APIDemo一隻,大概寫基礎application的功力就練成了八成了。

如果要更深入呢?


有的~Android 的source code會是很棒的一個參考工具。這是晉升進階的最快方式,可以瞭解最道地的 Android Application的寫法。


那要怎麼下載?我看網站上好像是要裝linux....


Android 的 source code都公布在 android的網站上,你可以透過 GIT Web 去瀏覽。不過網頁式的瀏覽,其實對於要學習怎樣寫code、要trace code都很麻煩。前面的文章有講過如何git下來這些code。


由於google 用的是GIT ,其實在很多平台上都有工具可以下載,若是要開發方便,建議可以使用Eclipse 外掛 EGIT,可以利用Eclipse的基本功能,去找所有的call hierarchy或是直接跳到某個class去 trace code。


EGit是一個Eclipse 下的plugin,是一 open source 可免費使用的軟體,你可以用他來同步公司的內的GIT source,當然可以git我們這次主要談的目的 -Android source code。

              他的網站在這邊 :http://www.eclipse.org/egit/ 有興趣的人可以參考看看喔。
 
下面就來說明如何在eclipse中加入git來抓取Android的 source code,我們就以抓取Camera的原始碼為例:


因EGit是個 Eclipse 的plugin,一如往常的若使用 Eclipse 3.5可以從 [Help] -> [Install New Software] 來更新 plug in,我們先 Add 一下,Name的部分就打入GIT用以識別,location的部分就打上 http://download.eclipse.org/egit/updates/




然後按下「OK」,就可以看見下面這個頁面,一如往常的,勾選一下,他就會自己去更新一下版本清單。


把他全部勾選之後,按Next,出現確認安裝內容的畫面,

  
按下finish,就出現下面這個更新下載的畫面:


這個plugin不大,應該很快就可以下載完畢。下載完畢後,會出現下面這個畫面,詢問你是否要重開。請按 yes 將它重開。


重新開啟之後,好像,沒有什麼變化,不像是裝了android sdk有出現一些不同的icon。那是因為這種source code同步軟體通常是用來匯入或匯出更新的。


所以我們來作匯入的動作,就可以看見他特別的地方了。請選 [File]->[Import] 出現以下畫面,多了一個 Git Repository,點了後,選 Next


這個時候,會出現要你填入 Location URI,就暫時移開你的目光,到android source 的網站來。我們要抓的是Camera的application source code,所以我們到這邊 :

http://android.git.kernel.org/?p=platform/packages/apps/Camera.git;a=summary 

下面就是網站的畫面,請找到這個camera的 Summary中的description,你就會看到下圖紅框標起的部分, 「URL」,請把 git (git://android.git.kernel.org/platform/packages/apps/Camera.git)開頭的那個複製下來..


 然後,轉回Eclipse Import的視窗,貼上URI。就會出現以下的視窗。


不需要修改,直接點選 Next , 你會發現有很多的branch(分支),看你的喜好,選一兩個就可以。我這邊選的是Cupcake (Android 1.5版)。


接著 選擇你要下載的位置,請記住這個位置,後面會使用到。



 接著,就經過一陣的下載之後,code就自動下載到你的電腦中了。不過打開workspace看,好像沒有看見camera project。


這個時候別急,請你新增一個Android 的Project。與以往不同的是,在Contents內,請不要Create new project in workspace(於現在的工作區內建立新專案)。因為 Camera application已經在電腦了,所以是Create project from existing source (由現存的來源建立新專案),而Location的部分,就且選擇剛剛下載的位置。最後在選擇Build Target。 


記得 要給一個Project Name!這不影響原始碼的運行。




按下 finish ,你就可以在工作區內看見Camera的專案了。 


這樣你就可以透過這方式git你的source code,並且研究其中奧妙~







沒有留言: