Import AOSP Android Studio project

* Edit development / tools / idegen / excluded- paths file, can preclude undesired path idegen.sh
* performed: make idegen generating idegen.jar


* The implementation of development / tools / idegen / idegen.sh will generate: android.ipr and android.iml file


* You can still add similar by android.iml in: <excludeFolder url = "file: // $ MODULE_DIR $ / bionic" /> content to exclude unwanted path


* Of course, you can also use a more simple way, after using Android Studio to open the project, after right-clicking on the Project path does not require a directory to select "Mark Directory as" -> " Exclude" to exclude these directories
* You can also Project Structure in "Modules" -> "Android" -> "Sources" after the click path to be excluded, click on "exclude"


* For normal debugging, you need to configure the JDK: Click "File" -> "Project Structure" -> JDK "SDKs" configuration items, SDK. Creating a new JDK, here named "1.8 (No Libraries)", delete all the jar on the classpath tab below.


* 创建一个新的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图标, 可以看到成功停止在目标断点处:

发布了9 篇原创文章 · 获赞 0 · 访问量 2576

Guess you like

Origin blog.csdn.net/liyangzmx/article/details/104035701