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下方的进度条完。就完了。

Android studio 导入 Android 系统源码相关推荐

  1. 【Android NDK 开发】Android Studio 的 NDK 配置 ( 源码编译配置 | 构建脚本配置 | 打包配置 | CMake 配置 | ndkBuild 配置 )

    文章目录 I . 源码编译配置 II . 构建脚本配置 III . NDK 函数库打包配置 IV . Java 与 C 代码示例 V . CMake 配置 ( CMakeLists.txt ) VI ...

  2. Android Studio 导入 Android 系统模块并编译和调试

    FAQ: AS导入系统模块源码,并且能够编译调试,正常查看java doc ???? Android AOSP基础(五)Android Studio调试系统源码的三种方式 http://liuwang ...

  3. android studio查看jar包源码,Android Studio查看源代码报错

    我们经常用Android Studio 查看Android的源代码,今天我们就来学习查看源代码的正确姿势. Android Studio查看源代码 我们用Android Studio查看源代码会遇到下 ...

  4. android 10.0 在系统源码下生成jks系统签名文件

    在系统开发中,会遇到在app在线升级的时候,会升级失败,由于app自己用自己的签名文件签名的 所以会和系统签名文件不一样,导致会出现一些问题 所以为了解决这一个问题 就得使用系统生成的签名文件 给ap ...

  5. Android Studio 导入 Android 项目

    打开 Android Studio,选择 Open an Existing Project,然后选中 Android 项目的根目录即可导入 Android 项目. 如果你之前使用 Android St ...

  6. Android Studio导入Android源码

    1.生成Android.ipr 进入项目根目录,执行 source build/envsetup.sh lunch 项目版本号 make idegen -j16 编译完成后有idegen.jar生成 ...

  7. android studio 中配置groovy源码_麻省理工教程:使用Unity AR Foundation在AR中查看模型...

    本文将分享麻省理工学院的教程-使用Unity AR Foundation在增强现实中查看模型. 在本教程中,我们将介绍如何把3D模型导入Unity,并使用Android设备或iOS设备在AR中查看模型 ...

  8. 华硕Tinker Board开发板(rk3288处理器)开发 ---- 将Android Studio开发的apk源码放到Android7.1.2源码中进行编译

    备注:此Android Studio项目并没有jni,没有使用动态so库,只是一个简单的项目. 1.将Android studio开发的项目移植到Android7.1.2源码中,我们只需要Androi ...

  9. 基于java springboot android 安卓图书借阅系统源码(毕设)

    开发环境及工具: 大于等于jdk1.8,大于mysql5.5,idea(eclipse),Android Studio 技术说明: springboot mybatis html vue.js boo ...

  10. android studio导入android studio工程

    在导入其他android studio工程的时候因为gradle和sdk.tool等版本不一样,会导致android studio自动去后台下载,导致占用硬盘越来越大,最主要的时候会等待很久,不知道要 ...

最新文章

  1. OSPF高级设置实现全网互通
  2. lua代码格式化工具_FFLUA——C++嵌入Luaamp;扩展Lua利器
  3. Unity中使用Attribute
  4. 基于VS Code创建Java command-line app
  5. mysql Error 1045(28000)
  6. Streaming API
  7. 【蜕变之路】第15天 Eclipse常用问题 (2019年3月5日)
  8. 全球最大手机公司又发年度新品:AI亮得一笔,智能音箱又晚又丑
  9. 硬盘的分区误删除的恢复
  10. 【个人笔记】OpenCV4 C++ 图像处理与视频分析 01课
  11. CF321E Ciel and Gondolas BZOJ 5311 贞鱼
  12. OPC DA 服务端搭建 (附Java 客户端代码)
  13. php连接mysql数据库 简洁代码
  14. 【算法模板】DFS秒杀模板—附练习题(阳光号启航)
  15. 韵达快递单号可以批量查询吗
  16. 31、通信卫士--拦截黑名单电话
  17. 微信里有人每天早上发的早报新闻是从哪里获取的?
  18. 【BZOJ3669】【NOI2014】魔法森林 (spfa动态队列加点算法)
  19. 罗斯蒙特3144PD1A1NAB4温度变送器
  20. JAVA json字符串格式化

热门文章

  1. vs2005c#能build通过,但是run不了
  2. iOS:Autolayout自动布局实例
  3. iOS学习——ViewController(六)
  4. 如何实现一套鼠标键盘控制二台主机
  5. Python之random.seed()用法
  6. Pyinstaller --add-data参数详解
  7. Lighttpd 启用 HTTPS 并重定向 HTTP 为 HTTPS 访问配置
  8. MyBatis解析<if>动态sql时,Integer类型值为0,返回false
  9. android studio程序开机启动,Android Studio中创建和启动AVD【Android】
  10. 交换机配置snmp及查看snmp配置信息