Android Studio系列(二)使用Android Studio开发/调试整个android系统源代码(不定时更新)
本文是以源碼中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
一、修改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
你可能需要的鏈接:
感謝原作者!
原文地址: http://blog.csdn.net/aaa111/article/details/43227367
總結
以上是生活随笔為你收集整理的Android Studio系列(二)使用Android Studio开发/调试整个android系统源代码(不定时更新)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Binder总结
- 下一篇: 如何在Eclipse和Android S