Android Studio导入AOSP项目

* 编辑development/tools/idegen/excluded-paths文件, 可以使idegen.sh排除不需要的路径
* 执行: make idegen生成idegen.jar

Android Studio导入AOSP项目_第1张图片
* 执行development/tools/idegen/idegen.sh将生成: android.ipr和android.iml文件


* 你仍然可以通过在android.iml中添加类似: 的内容来排除不需要的路径

Android Studio导入AOSP项目_第2张图片
* 当然, 也可以用更简单的方式, 在使用Android Studio打开项目后, 在Project路径上右击不需要的目录后选择"Mark Directory as"->"Exclude"来排除这些目录
* 你也可以Project Structure中"Modules"->"Android"->"Sources"中点选需要排除的路径后, 点击"Exclude"

Android Studio导入AOSP项目_第3张图片
* 为了正常的调试, 需要对JDK进行配置: 点击"File"->"Project Structure"->"SDKs"配置项目的JDK、SDK。 创建一个新的JDK,这里取名为"1.8(No Libraries)",删除其中classpath标签页下面的所有jar文件.

Android Studio导入AOSP项目_第4张图片
* 创建一个新的Android SDK, "Name"设置为: "Android API 28 Platform (No Libraries JDK)", "Java SDK"设置为: "1.8(No Libraries)"

Android Studio导入AOSP项目_第5张图片
* 配置"Project"中的"Project SDK"为: "Android API 28 Platform (No Libraries JDK)"

Android Studio导入AOSP项目_第6张图片
* 配置* 配置"Modules"->"android"中的"Dependencies", 点选"+", 点选"JARs or direcotries", 选择framework和external所在的路径, 添加完成后, 会出现在底部, 选择所有前面的库, 点下箭头移动所有项目到底部, 然后勾选新添加的库

Android Studio导入AOSP项目_第7张图片
* 配置"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: <空>

Android Studio导入AOSP项目_第8张图片

* 新增一个调试选项:

Android Studio导入AOSP项目_第9张图片* 连接手机, 测试一下, 点选: "Attach Debuger to Android Process", 选择"system_process":

Android Studio导入AOSP项目_第10张图片

* 打开: frameworks/base/services/core/java/com/android/server/am/ActivityStarter.java文件, 在startActivityMayWait()处下断点:

Android Studio导入AOSP项目_第11张图片

* 此时, 在Launcher上点击Gallary图标, 可以看到成功停止在目标断点处:

Android Studio导入AOSP项目_第12张图片

你可能感兴趣的:(Android,工具使用)