Android Studio導入AOSP項目

* 編輯development/tools/idegen/excluded-paths文件, 可以使idegen.sh排除不需要的路徑
* 執行: make idegen生成idegen.jar


* 執行development/tools/idegen/idegen.sh將生成: android.ipr和android.iml文件


* 你仍然可以通過在android.iml中添加類似: <excludeFolder url="file://$MODULE_DIR$/bionic" />的內容來排除不需要的路徑


* 當然, 也可以用更簡單的方式, 在使用Android Studio打開項目後, 在Project路徑上右擊不需要的目錄後選擇"Mark Directory as"->"Exclude"來排除這些目錄
* 你也可以Project Structure中"Modules"->"Android"->"Sources"中點選需要排除的路徑後, 點擊"Exclude"


* 爲了正常的調試, 需要對JDK進行配置: 點擊"File"->"Project Structure"->"SDKs"配置項目的JDK、SDK。 創建一個新的JDK,這裏取名爲"1.8(No Libraries)",刪除其中classpath標籤頁下面的所有jar文件.


* 創建一個新的Android SDK, "Name"設置爲: "Android API 28 Platform (No Libraries JDK)", "Java SDK"設置爲: "1.8(No Libraries)"


* 配置"Project"中的"Project SDK"爲: "Android API 28 Platform (No Libraries JDK)"


* 配置* 配置"Modules"->"android"中的"Dependencies", 點選"+", 點選"JARs or direcotries", 選擇framework和external所在的路徑, 添加完成後, 會出現在底部, 選擇所有前面的庫, 點下箭頭移動所有項目到底部, 然後勾選新添加的庫


* 配置"Modules"->"android"->"Android"中的各個patch: 
** Manifest file: ~/aosp/frameworks/base/core/res/AndroidManifest.xml
** Resource directory: ~/aosp/frameworks/base/core/res/res
** Assets direcotry: ~/aosp/frameworks/base/core/res/assets
** Native libs directory: <空>

* 新增一個調試選項:

* 連接手機, 測試一下, 點選: "Attach Debuger to Android Process", 選擇"system_process":

* 打開: frameworks/base/services/core/java/com/android/server/am/ActivityStarter.java文件, 在startActivityMayWait()處下斷點:

* 此時, 在Launcher上點擊Gallary圖標, 可以看到成功停止在目標斷點處:

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