Ubuntu12.04下Android Studio导入Android源码

开始之前,先要准备一份已经编译过的Android源码,

同时,你得安装配置了Android Studio(下载地址http://www.android-studio.org/)


1、编译源码idegen模块及生成AS配置文件(*.ipr)

首先进入源码目录,执行如下指令

mmm development/tools/idegen/


当出现如下语句,说明编译OK了

......
#### make completed successfully (7 seconds) ####


接着执行

development/tools/idegen/idegen.sh


这行命令的意思是在根目录生成对应的android.ipr、android.iml  IEDA工程配置文件。当出现如下语句,说明OK了

Read excludes: 21ms
Traversed tree: 194799ms


此时根目录下就出现了android.ipr、android.iml文件。

接着修改android.iml文件,将自己不用的代码过滤掉。想想,如果我们就这么直接导入,会把所有的源码模块导入到Android Studio中,这会很慢的,如果你的电脑配置不好,可能会直接假死。所以我们最好过滤一下我们不需要的源码文件,只导入我们需要的模块。

比如只要看frameworks的代码,打开android.iml文件,加入如下代码


























Ubuntu12.04下Android Studio导入Android源码_第1张图片

到此,配置已经完成,下面开始导入代码到Android Studio


2、Android Studio导入源码


linux下启动Android Studio是使用命令启动,命令如下:

#首先确保在android-studio目录下执行 
$ bin/studio.sh


Ubuntu12.04下Android Studio导入Android源码_第2张图片

选择Android.ipr

Ubuntu12.04下Android Studio导入Android源码_第3张图片


等几分钟,就导入完成了


此时代码已经导入完成了。但是这时候如果你打开一个Service.java类,然后把鼠标放在其中任意方法的Intent参数上按住CTRL+鼠标左键跳转到Intent类你会发现跳转过去的是一个Intent.class文件,为啥呢?因为他跳转的是你的默认SDK中的jar内部的class文件。既然要修改查看整套源码,这么跳转得多蛋疼啊,所以我们需要配置让其能跳转到Intent.java文件,具体做法如下:


首先删掉依赖中的所有依赖,只保留下图中没被选中的那两个(当然你可以选择保留一些你用到的其他jar),如下:


Ubuntu12.04下Android Studio导入Android源码_第4张图片


接着点击加号的JARs or directories将你源码的frameworks及external和你用到的其他跳转目录添加到依赖中,然后apply即可。


搞定后,可能会遇到如下报错

Ubuntu12.04下Android Studio导入Android源码_第5张图片


解决方法是

复制出现红色字体的路径。。。
File -  Settings  - schemas and DtDs 

Ubuntu12.04下Android Studio导入Android源码_第6张图片

点击加号。把路径考进去就可以了 

你可能感兴趣的:(Ubuntu12.04下Android Studio导入Android源码)