如何使用Android Studio开发/调试Android源码

环境: Ubuntu 14.10,openJdk 1.7,Android Studio 1.2,android-5.0.1_r1源码

一、修改Android Studio(以下简称AS)的内存配置

因为在导入源码时需要消耗大量内存,所以先修改IDEA_HOME/bin/studio.vmoptions-Xms-Xmx的值。文档中使用的是748m, 可自行修改。

 二、配置AS的JDK、SDK

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

如何使用Android Studio开发/调试Android源码_第1张图片

如何使用Android Studio开发/调试Android源码_第2张图片


并将其作为要使用的SDK的Java SDK

三、生成导入AS所需配置文件(*.ipr)

①编译源码(为了确保生成了.java文件,如R.java;如果编译过,则无需再次编译)

②检查out/host/linux-x86/framework/目录下是否有idegen.jar

如果idegen.jar不存在,执行:

mmm development/tools/idegen/

在5.0.1的源码中会生成res.java的文件夹,导致idegen.jar运行时抛FileNotFoundException,这是idegen的代码不够严谨造成的。

我的分享里有修改这个bug的patch,或者直接使用我分享的idegen.jar。

③执行

development/tools/idegen/idegen.sh

等待出现类似下面的结果:

Read excludes: 5ms
Traversed tree: 44078ms

这时会在源码的根目录下生成android.ipr和android.iml两个IntelliJ IDEA(AS是基于IntelliJ IDEA社区版开发的)的配置文件

④在AS中打开源码根目录下新生成的android.ipr

导入android.ipr  File->Open->"选择android.ipr"

四、解决源码中跳转错误问题

①为当前工程设置上面设置的SDK和JDK


②设置'Modules'的依赖

如何使用Android Studio开发/调试Android源码_第3张图片

先将所有依赖删掉,只留下上图'1'所指向的两个(注意:这里删除全部只是为了方便。如果确实用到了.jar,在将它们的路径添加进来就可以了.

如5.0.1的ContactsCommon用到了geocoder-2.9.jar和libphonenumber-6.2.jar)

点击上图中'2'指向的'+'并选择上图'3'指向的'Jars or directories'选项,依次将frameworks和external文件夹添加进来.如:


如果还有代码跳转错误,请仿照上面的步骤将相应代码的路径或jar文件添加到其Dependencies标签页中即可.

五、DEBUG源码

我们可以通过给刚导入的工程在'Modules'中添加'Android Framework'来让AS将它作为一个Android工程,从而方便我们调试代码.


可以按照上图中'1'和'2'来添加Android Framework支持.




你可能感兴趣的:(android,Studio)