Android studio 系统源码调试

来源:互联网 发布:守望先锋配置检测软件 编辑:程序博客网 时间:2024/06/05 22:47

一、Android studio系统源码调试的时候先要对android studio目录下面的几个文件进行说明:

android.iml,android.ipr,android.iws.

1.android.iws 包含工作区的个人设置,比如打开过的文件,版本控制工具的配置,本地修改历史,运行和debug的配置等。

2.android.ipr 一般保存了工程相关的设置,比如modules和modules libraries的路径,编译器配置,入口点等。

3.android.iml 用来描述modules。它包括modules路径、 依赖关系,顺序设置等。一个项目可以包含多个 *.iml 文件。

二、生成android.iws,android.ipr,android.iml文件

根据android studio使用说明需要执行如下几个命令完成三个文件声明:

1.进入源码根目录下面,执行如下命令:

cd development/tools/idegen

找到README文件,该文件讲了如何导入源码到android studio工具之前需要做的事情,如下:

source build/ensetup.sh

make idegen

development/tools/idegen/idegen.sh

注意:进行源码导入的时候,你的源码已经是编译过的,不然可能构建关系失败。

三、配置android studio SDK和JDK

在IDE中添加一个没有classpath的JDK, 这样可以确保使用源码里的库文件


并将其作为要使用的SDK的Java SDK。如下图


四、为当前项目添加SDK和设置module的依赖

1.为当前项目设置SDK可以进入File-->Project structure--->Project 添加sdk就可以了

2.设置module的依赖
在设置module的依赖之前,可能有些人对module的作用不是很了解,所以,我在这里先说明一下什么是module。经常用ecplise都知道ecplise有workspace和project,同样在android studio中module是Android Studio中的Project就是指工作空间(workspace),而Module就是指一个项目project,在这个项目里面可以导入需要使用的库。

如下图,在构建原有的modules中会有很多依赖的库,如果你是工作在系统源码下面,可以将原有的库全部删除,如果你是应用则根据实际情况决定是删除还是留存,删除之后,要导入系统源码中你需要调试用到的库,可以看第二张图,将framework导入可以调试系统server,如果你想看系统应用可以导入系统目录下面的package/app对应的目录。:


五、Debug源码

执行完上述步骤以后你就可以进行系统源码debug调试了,android studio主页面会出现android monitor等标签,可以对系统相关应用进行监控。

如果你将将某一部分当做单独的Android项目来调试的话,你需要进行如下操作:

在我们刚才创建的module中添加android framework来让android studio将它作为一个android 工程。


构建完成以后,可以在主界面看到如下情况:


在代码打断点,然后点击图片中按钮,在弹出的选择进程的对话框中,勾选显示所有进程,选择要debug的代码所在的进程,点击ok就可以了。

但是,在这里有一点需要注意的是,就是只有当程序运行到你断点所在的那个地方的时候,断点才会起作用,而且不是点击debug就能立即debug到你的断点所在处。

到此就可以进行系统调试了。


参考:
http://www.cnblogs.com/Lefter/p/4176991.html




0 0
原创粉丝点击