您的位置:首页 > 移动开发 > Android开发

【工具使用】Android Studio如何导入Android系统源代码

2018-01-20 17:05 507 查看
之前弄过一次,过了这么久再弄时就已经忘记得差不多了,特地记下来。经过这样的配置之后,可以实现点击一些类时进行跳转。R文件还是没有搞定,其中的资源还是无法进行跳转,不过这样基本上已满足工作上的需求。

修改AS配置文件

在AS的bin目录下,打开studio64.vmoptions文件,修改成如下数值:

-Xms1024m
-Xmx1024m


大一些应该也没关系。

生成AS项目配置文件

1、首先全局编译一次。

2、查看
out/host/linux-x86/framework/idegen.jar
是否存在;

若已不存在,先执行下面命令以生成它:

source build/envsetup.sh
lunch [选择刚全局编译时的参数]
mmm development/tools/idegen/


3、执行以下命令以生成所需配置文件。

development/tools/idegen/idegen.sh


导入系统源代码至AS

1、此时在根目录下,就已经生成了android.ipr、android.iml,可以将整个源代码导入AS。

2、(可选)设置模块过滤

有些不想导入AS的模块,可以通过在android.iml中加入excludeFolder,达到过滤效果。

<excludeFolder url="file://$MODULE_DIR$/.repo"/>
<excludeFolder url="file://$MODULE_DIR$/abi"/>
<excludeFolder url="file://$MODULE_DIR$/frameworks/base/docs"/>
<excludeFolder url="file://$MODULE_DIR$/art"/>
<excludeFolder url="file://$MODULE_DIR$/bionic"/>
<excludeFolder url="file://$MODULE_DIR$/bootable"/>
<excludeFolder url="file://$MODULE_DIR$/out"/>
<excludeFolder url="file://$MODULE_DIR$/pdk"/>
<excludeFolder url="file://$MODULE_DIR$/prebuilts"/>
<excludeFolder url="file://$MODULE_DIR$/sdk"/>
<excludeFolder url="file://$MODULE_DIR$/system"/>
<excludeFolder url="file://$MODULE_DIR$/tools"/>
<excludeFolder url="file://$MODULE_DIR$/trusty"/>
<excludeFolder url="file://$MODULE_DIR$/vendor"/>
...


3、第一次导入时间有点长,耐心等待

配置AS的JDK、SDK

下面的这些操作,是为了让在看代码的时候,能够自由、正确地显示、跳转到相应的地方。

在上一步操作之后的等待期间刚好让我们来配置一下JDK和SDK。

在AS中参照下图Project Structure设置,在SDKs设置中加入必须的JDK,SDK。

创建一个新的JDK,可以取名为1.7(No Libraries),然后删除classpath标签页下面的jar文件。 这样可以确保使用Android源码里的库文件。



之后将1.7(No Libraries)作为Android SDK要使用的Java SDK。如下图



之后在Project标签中的Project SDK中选择对应的Android API版本。



结果

还没弄得太好,R文件还没导入,不过感觉这个不是很重要。



参考:

http://blog.csdn.net/heqiangflytosky/article/details/62236001

http://blog.csdn.net/aaa111/article/details/43227367

http://blog.csdn.net/murphykwu/article/details/52117907

https://www.cnblogs.com/qianxudetianxia/p/3721202.html

导入Eclipse可以参考罗升阳的PPT简略文档:

https://wenku.baidu.com/view/2d820c973b3567ec112d8a91.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: