日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android Studio系列(二)使用Android Studio开发/调试整个android系统源代码(不定时更新)

發布時間:2025/3/15 Android 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

  • 智能代碼提示
  • 自動保存
  • 多設備實時預覽
  • 內置終端
  • UI漂亮
  • 自帶git github svn
  • 更好的搜索
  • 一、修改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


    你可能需要的鏈接:

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


    原文地址: http://blog.csdn.net/aaa111/article/details/43227367

    總結

    以上是生活随笔為你收集整理的Android Studio系列(二)使用Android Studio开发/调试整个android系统源代码(不定时更新)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。