Android studio 导入 Android 系统源码

1.前言

通常,从事Android开发相关的人员,都需要涉及到Android源码的阅读,尤其是从事Android系统相关开发的。这里介绍下Android studio 如何 导入Android源码,以便更好的学习开发。比较早的时候,阅读学习调试Android源码通常都是使用eclipse工具,当android studio 问世后,许多人便开始使用Androidstudio 导入源码,使用as笔者有这些优点–代码阅读比eclipse舒心,同时还可以调试相关系统进程等。

2.步骤

在导入源码之前,记得一定要正确的通过全部源码的编译。
这里笔者假设到这里,我们的源码已经全部编译完成。导入工具阅读源码这里是依靠了Android源码自带的idegen神器。

2.1 生成AS或者ES能够导入的文件,这里只讲AS

source build/envsetup.sh
mmm development/tools/idegen/
development/tools/idegen/idegen.sh

执行完上述命令后,在源码根目录会生成如下文件:

android.iml (as)(配置文件)
android.ipr (as)(导入需要的文件)
.classpath  (eclipse)(导入需要的文件)

按照一般的流程,此时通过as导入android.ipr即可阅读源码了。但是因为电脑硬件配置的原因,笔者这里将剩下的步骤也写出来,供大家参考。

2.2 修改android.iml 配置包含哪些文件

用文本编辑器打开android.iml文件,找到作些修改,以下是笔者的修改excludeFolder 开头的地方,根据需要去除掉包含的文件

      <excludeFolder url="file://$MODULE_DIR$/.repo" />
      <excludeFolder url="file://$MODULE_DIR$/abi" />
      <excludeFolder url="file://$MODULE_DIR$/art" />
      <excludeFolder url="file://$MODULE_DIR$/bionic" />
      <excludeFolder url="file://$MODULE_DIR$/bootable" />
      <excludeFolder url="file://$MODULE_DIR$/build" />
      <excludeFolder url="file://$MODULE_DIR$/cts" />
      <excludeFolder url="file://$MODULE_DIR$/dalvik" />
      <excludeFolder url="file://$MODULE_DIR$/developers" />
      <excludeFolder url="file://$MODULE_DIR$/development" />
      <excludeFolder url="file://$MODULE_DIR$/device" />
      <excludeFolder url="file://$MODULE_DIR$/docs" />
      <excludeFolder url="file://$MODULE_DIR$/external" />
      <excludeFolder url="file://$MODULE_DIR$/external/bluetooth" />
      <excludeFolder url="file://$MODULE_DIR$/external/chromium" />
      <excludeFolder url="file://$MODULE_DIR$/external/icu4c" />
      <excludeFolder url="file://$MODULE_DIR$/external/webkit" />
      <excludeFolder url="file://$MODULE_DIR$/frameworks" />
      <excludeFolder url="file://$MODULE_DIR$/frameworks/base/docs" />
      <excludeFolder url="file://$MODULE_DIR$/hardware" />
      <excludeFolder url="file://$MODULE_DIR$/kernel" />
      <excludeFolder url="file://$MODULE_DIR$/libcore" />
      <excludeFolder url="file://$MODULE_DIR$/libnativehelper" />
      <excludeFolder url="file://$MODULE_DIR$/ndk" />
      <excludeFolder url="file://$MODULE_DIR$/out" />
      <excludeFolder url="file://$MODULE_DIR$/out/eclipse" />
      <excludeFolder url="file://$MODULE_DIR$/out/host" />
      <excludeFolder url="file://$MODULE_DIR$/out/target/common/docs" />
      <excludeFolder url="file://$MODULE_DIR$/out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates" />
      <excludeFolder url="file://$MODULE_DIR$/out/target/product" />
      <excludeFolder url="file://$MODULE_DIR$/pdk" />
      <excludeFolder url="file://$MODULE_DIR$/platform_testing" />
      <excludeFolder url="file://$MODULE_DIR$/prebuilt" />
      <excludeFolder url="file://$MODULE_DIR$/prebuilts" />
      <excludeFolder url="file://$MODULE_DIR$/sdk" />
      <excludeFolder url="file://$MODULE_DIR$/shortcut-fe" />
      <excludeFolder url="file://$MODULE_DIR$/system" />
      <excludeFolder url="file://$MODULE_DIR$/toolchain" />
      <excludeFolder url="file://$MODULE_DIR$/tools" />

2.3 修改Android Studio的配置文件

由于导入源码时需要消耗大量内存,所以建议修改studio64.vmoptions文件:

-Xms1024m
-Xmx1024m

这里的数值1024可以根据实际情况进行调整。

2.4 打开as开始导入source code

File -> Open 选择源码目录刚刚生成的android.ipr就可以导入了,这个过程第一次是比较慢的,大家需要耐心等待。
待到源码正常导入后,还需要做一些配置。

2.5 as中配置android source code

project->Open Module Settings
在这里插入图片描述
先配置Sources,这里是选择将何文件夹包含进来。点击Exclude即可(和之前修改iml文件同样的效果)
在这里插入图片描述
然后配置SDK,选择和自己平台对应的SDK,删除除API外的全部依赖
在这里插入图片描述
在这里插入图片描述
确认保存后,记得等工程配置刷新下,也就是as下方的进度条完。就完了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wang 恒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值