源码导入的教程很多,写着篇blog主要是记录indexing时间很长的解决方案,还有就是之前的教程有些步骤顺序不那么合理。
由于工作原因,经常需要导入Android源码。而最痛苦的就是scan files to index....之后的indexing....花费时间太长的问题,而且此过程无法debug,无法Ctrl+左键跳转,无法打开Project Structure,少则数十分钟,多则以小时记。
参考文章中有图,更清晰,但步骤二跟步骤三交换顺序更好,步骤三中的修改android.iml参见本文步骤4。
从头说起:
1.下载编译源码。
2.修改android studio配置
默认的内存分配太低,根据操作系统,选择STUDIO_HOME/bin/studio.vmoptions或STUDIO_HOME/bin/studio64.vmoptions,修改-Xmx和-Xmx的值。
3.生成studio使用的android.ipr文件
mmm development/tools/idegen/
此处可能会报FileNotFoundException,跟一个res.java有关,将此文件后缀由.java改为.j就好了
development/tools/idegen/idegen.sh
源码根目录下生成了android.ipr和android.iml文件,接下来就是处理indexing时间过长的问题了。
4.删除导入的模块
打开android.iml,删除掉所有的module-library项。
5.导入studio
使用studio打开android.ipr,进入很快。
6.配置JDK和SDK
打开File -> Project Structure -> SDKs,新增一个JDK1.7(android 5.0 使用 jdk1.7),并删掉Classpath中的所有内容。然后选中android API 21,将Java SDK指定为刚刚添加的JDK。
打开File -> Project Structure -> Project,指定android SDK版本21和JDK版本7.0。
打开File -> Project Structure -> Modules,按需导入相关模块。
7.debug设置
在刚刚的Modules中,添加一个Android Framework就可以在Run -> Attach debugger to Android process 中选中进程调试了。