开发调试环境:ubuntu14.10,openjdk1.7,androidstudio1.0.2,android-5.0.1_r1源码
由于as是基于intellijidea开发的,所以本文也适用于intellijidea
一、修改androidstudio(以下简称as)的内存配置
因为在导入源码时需要消耗大量内存,所以先修改idea_home/bin/studio64.vmoptions(x86的机器修改studio.vmoptions)中-xms和-xmx的值。文档中使用的是748m,可自行修改。
二、配置as的jdk、sdk
在ide中添加一个没有classpath的jdk,这样可以确保使用源码里的库文件
并将其作为要使用的sdk的javasdk。如下图
三、生成导入as所需配置文件(*.ipr)
①编译源码(为了确保生成了.java文件,如r.java;如果编译过,则无需再次编译)
②检查out/host/linux-x86/framework/目录下是否有idegen.jar
如果idegen.jar不存在,执行:
mmmdevelopment/tools/idegen/
在5.0.1的源码中会生成res.java的文件夹,导致idegen.jar运行时抛filenotfoundexception,这是idegen的代码不够严谨造成的。
我的分享里有修改这个bug的patch,或者直接使用我分享的idegen.jar。
③执行
development/tools/idegen/idegen.sh
等待出现类似下面的结果:
readexcludes:5mstraversedtree:44078ms
这时会在源码的根目录下生成android.ipr和android.iml两个intellijidea(as是基于intellijidea社区版开发的)的配置文件
tips:
as在导入代码时比较慢,建议先修改android.iml,将自己用不到的代码exclude出去.可以仿照过滤.repo文件夹的语法,如:
这样在导入时就会跳过abi和art文件夹.过滤的越多,as的处理速度就会越快.
④在as中打开源码根目录下新生成的android.ipr