1. 编译idegen
在Android源码根目录下执行
source build/envsetup.sh
lunch xxx
make idegen
编译后会生成:
out/host/linux-x86/framework/igen.jar
执行脚本,为源码生成AS项目配置文件
./development/tools/idegen/idegen.sh
执行脚本后会生成以下文件:
android.iml
android.ipr
android.iws
2. 修改as 内存限制
由于Android源码很庞大,将源码直接导入Android Studio很容易卡死。因此我们需要修改Android Studio的默认缓冲区的大小。在Android Studio的安装路径下,例如,安装路径为D:\android-studio,修改D:\android-studio\bin\studio64.vmoptions中-Xms和-Xmx的值。-Xms默认是256m, -Xmx默认1280m,可自行根据电脑配置修改。
这里改动如下:
-Xms512m
-Xmx2560m
-XX:ReservedCodeCacheSize=480m
3. 导入源码
3.1 导入源码
在Android Studio中,File-->open-->选择系统源码根目录下的android.ipr。
3.2 排除不常使用的代码
一般情况下,我们常常看的代码只有packages、frameworks、kernel、device、vendor等等,因此我们可以将不常使用的目录排除。这样可以加快代码导入速度和代码搜索速度。
在Android Studio中进入Project Structure-->Modules-->Sources排除不常使用的目录。
这一步,也可以直接修改android.iml来实现,在打开android.ipr之前先修改android.iml,参照excludeFolder部分,将用不到的代码排除出去。例如,我们排除out/下面的eclipse文件夹和源码根目录下的.repo文件夹:
<excludeFolder url="file://$MODULE_DIR$/out/eclipse"/>
<excludeFolder url="file://$MODULE_DIR$/.repo"/>
3.3 将Dependencies改为Android 源码。
进入Project Structure-->Modules-->Dependencies选项卡,把最底部Modle source移动到最上方,将其它Dependencies删除,这样点击代码跳转的时候就会跳转到相应的源码,不会再跳转到SDK下面的AOSP源码或者android.jar 的class文件中了。