Android Studio導入Android源碼

轉自here

本文是以源碼中development/tools/idegen/README作爲指導文檔,給出了使用Android Studio導入Android源碼的方法步驟。

環境: Ubuntu 12.04,openJdk 1.7,Android Studio 1.1 Beta 4,android-5.0.1_r1源碼

由於Android Studio(以下簡稱AS)是基於IntelliJ IDEA開發的,所以本文也適用於IntelliJ IDEA

  1. 智能代碼提示
  2. 自動保存
  3. 多設備實時預覽
  4. 內置終端
  5. UI漂亮
  6. 自帶git github svn
  7. 更好的搜索

一、修改AS的配置

  • 因爲在導入源碼時需要消耗大量內存,所以先修改IDEA_HOME/bin/studio.vmoptions中-Xms和-Xmx的值。README文檔中使用的是748m。

  • 較新版本的AS中自帶SDK,然後第一次用的時候新的SDK會下載Build Tool 等,大約需要2.25G空間。不想下載的話可以找到android-studio/bin目錄下的idea.properties文件,在最後添加一行disable.android.first.run=true,然後再啓動AS就好了,然後進去手動配置SDK位置。
    (注:每次升級後這些配置都會恢復默認。但SDK不用重新配置)

二、生成導入AS所需配置文件(*.ipr)

爲了成功將源碼導入AS,我們需要先生成AS可是別的項目工程配置文件
在源碼根目錄依次執行

source build/ensetup.sh

make idegen && development/tools/idegen/idegen.sh

之後會出現類似下面的結果:

<div class="linenums" style="margin:0px; padding-left:0px; color:rgb(30,52,123)"><div class="L0" style="margin:0px; color:rgb(190,190,197); line-height:18px; padding-left:0px; list-style-type:none"><code style="margin:0px; padding:0px; border:none; font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace; word-wrap:break-word; max-width:100%; background-color:transparent"><span class="typ" style="color:teal;margin-top:0px">Read</span><span class="pln" style="color:#48484c;"> excludes</span><span class="pun" style="color:#93a1a1;">:</span><span class="pln" style="color:#48484c;"> </span><span class="lit" style="color:#195f91;">5ms</span></code></div><div class="L1" style="margin:0px; color:rgb(190,190,197); line-height:18px; padding-left:0px; list-style-type:none"><code style="margin:0px; padding:0px; border:none; font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace; word-wrap:break-word; max-width:100%; background-color:transparent"><span class="typ" style="color:teal;margin-top:0px">Traversed</span><span class="pln" style="color:#48484c;"> tree</span><span class="pun" style="color:#93a1a1;">:</span><span class="pln" style="color:#48484c;"> </span><span class="lit" style="color:#195f91;">44078ms</span></code></div></div>

這時會在源碼的根目錄下生成android.ipr,android.iws和android.iml三個文件

注:生成的文件包括:
①android.iws 包含工作區的個人設置,比如打開過的文件,版本控制工具的配置,本地修改歷史,運行和debug的配置等。
②android.ipr 一般保存了工程相關的設置,比如modules和modules libraries的路徑,編譯器配置,入口點等。
③android.iml 用來描述modules。它包括modules路徑、 依賴關係,順序設置等。一個項目可以包含多個 *.iml 文件。

之後我們在AS中打開源碼根目錄下新生成的android.ipr

Tips: 如果在導入時AS出現下面的提示:

可以按照其給定的解決方法來解決(網址:http://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit)
具體內容如下圖:

三、加快AS讀取源碼速度

在打開android.ipr之後AS會花費一定的時間來讀取源碼,首次掃描源碼中所有的Source Folders的時候花費的時間比較長,尤其源碼存放在機械硬盤上的時候(完整掃描一次以後後續再打開就沒這麼慢了)。因爲我們經常查看和編譯的源碼目錄爲packages和framework等,所以我們可以僅保留需要的源碼文件夾不做設置,其他設爲Excluded(請按需配置)。

在android根目錄上安快捷鍵F4(如果已經設爲Eclipse快捷鍵方式則爲F12)打開Module Setting,

選中不需要掃描的目錄後點右上的Excluded(其中out和prebuilts目錄較大,建議選擇),完成以後效果如左側,文件夾顏色區分,紅色的即爲排除在外的文件夾,AS將不掃描其中內容。 重新啓動AS,會發現掃描源碼目錄的時間大大縮減了。
Tips: 因爲Android Studio 的配置和緩存文件存在home/.AndroidStudio文件夾中,時間長了可能會導致系統磁盤吃緊,若要修改默認存儲位置(比如改到其他掛在盤),需修改android-studio/bin/idea.properties文件中相關的配置信息,修改內容參考:

四、配置AS的JDK、SDK

在上一步操作之後的等待期間剛好讓我們來配置一下JDK和SDK。

在IDE中參照下圖Project Structure設置(快捷鍵Ctrl+Alt+Shift+S,或者F4快速打開字設置Modules Setting),先在SDKs設置中加入必須的JDK,SDK。(可選)然後創建一個新的JDK,可以取名爲1.7(No Libraries),然後刪除classpath標籤頁下面的jar文件。 這樣可以確保使用Android源碼裏的庫文件。

並將1.7(No Libraries)作爲Android SDK要使用的Java SDK。如下圖

之後在Project標籤中的Project SDK中選擇對應的Android API版本

五、解決源碼中跳轉錯誤問題

1)確保在上一步中已爲當前工程設置正確了SDK和JDK

2)設置'Modules'的依賴

先將所有依賴刪掉(注意:這裏刪除全部只是爲了方便。如果確實用到了.jar,在將它們的路徑添加進來就可以了.
如:5.0.1的ContactsCommon用到了geocoder-2.9.jar和libphonenumber-6.2.jar)

點擊上圖中'+'並選擇'Jars or directories'選項,依次將frameworks和external文件夾添加進來.如:

如果代碼跳轉錯誤,請仿照上面的步驟將相應代碼的路徑或jar文件添加到其Dependencies標籤頁中即可。

六、DEBUG源碼

我們可以給剛導入的工程添加Framework Android,來讓AS將它作爲一個Android工程,從而方便我們調試代碼。方法:先選中“android“再選擇圖中Framework下的Android。

)。

在代碼中加斷點,然後選擇'Run'->'Attach debugger to Android process'或者直接點擊下圖中的手機上有個蟲子的圖標。

在彈出的選擇進程(Choose Process)對話框中,先勾選顯示所有進程,然後選擇要debug的代碼所在的進程,點擊OK即可(可同時debug多個進程)。

關於AS的安裝配置,快捷鍵,字體,主題,Gradle等設置,參看stromzhang的Android Studio系列教程,地址:http://stormzhang.com/

七、快捷鍵

快捷鍵是利器啊!熟悉了快捷鍵效率飆升!
不過有些與系統快捷鍵衝突了,若要實行請自行修改。
全部快捷鍵請看另一篇文章:http://blog.csdn.net/aaa111/article/details/43791481


你可能需要的鏈接:

  1. Android Studio系列教程 by stormzhang http://stormzhang.com/
  2. 如何使用Android Studio開發/調試Android源碼 http://www.cnblogs.com/Lefter/p/4176991.html
  3. Ubuntu下配置Android Studio的快捷啓動方式 http://blog.csdn.net/aaa111/article/details/41833179
  4. Android Studio簡單設置 http://ask.android-studio.org/?/article/14
  5. Android Studio 常用功能介紹 http://ask.android-studio.org/?/article/23
  6. Android Studio 小技巧合集 http://laobie.github.io/android/2016/02/14/android-studio-tips.html

感謝原作者!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章