本文是以源码中development/tools/idegen/README作为指导文档,给出了使用Android Studio导入android源码的方法步骤。

环境: MAC,openJdk 1.8,Android Studio 2.3 ,android-7.1.1源码

由于Android Studio(以下简称AS)是基于IntelliJ IDEA开发的,所以本文也适用于IntelliJ IDEA

一、生成导入AS所需配置文件(*.ipr)

为了成功将源码导入AS,我们需要先生成AS可是别的项目工程配置文件
在源码根目录依次执行

mmm development/tools/idegen/

development/tools/idegen/idegen.sh

之后会出现类似下面的结果:

Read excludes: 38ms
Traversed tree: 33041ms

这时会在源码的根目录下生成android.ipr,android.iws和android.iml三个文件

注:生成的文件包括:
①android.iws 包含工作区的个人设置,比如打开过的文件,版本控制工具的配置,本地修改历史,运行和debug的配置等。
②android.ipr 一般保存了工程相关的设置,比如modules和modules libraries的路径,编译器配置,入口点等。
③android.iml 用来描述modules。它包括modules路径、 依赖关系,顺序设置等。一个项目可以包含多个 *.iml 文件。

之后我们在AS中打开源码根目录下新生成的android.ipr

二、加快AS读取源码速度

在打开android.ipr之后AS会花费一定的时间来读取源码,首次扫描源码中所有的Source Folders的时候花费的时间比较长,尤其源码存放在机械硬盘上的时候(完整扫描一次以后后续再打开就没这么慢了)。因为我们经常查看和编译的源码目录为packages和framework等,所以我们可以仅保留需要的源码文件夹不做设置,其他设为Excluded(请按需配置)。

在android根目录上安快捷键F4(如果已经设为Eclipse快捷键方式则为F12)打开Module Setting,

选中不需要扫描的目录后点右上的Excluded(其中out和prebuilts目录较大,建议选择),完成以后效果如左侧,文件夹颜色区分,红色的即为排除在外的文件夹,AS将不扫描其中内容。 重新启动AS,会发现扫描源码目录的时间大大缩减了。

三、选择SDK

Project标签中的Project SDK中选择对应的Android API版本

四、DEBUG源码

在代码中加断点,然后选择'Run'->'Attach debugger to Android process'或者直接点击下图中的手机上有个虫子的图标。

在弹出的选择进程(Choose Process)对话框中,先勾选显示所有进程,然后选择要debug的代码所在的进程,点击OK即可(可同时debug多个进程)

五、完成

使用AS开发/调试整个android系统源代码相关推荐

  1. Android Studio系列(二)使用Android Studio开发/调试整个android系统源代码(不定时更新)

    本文是以源码中development/tools/idegen/README作为指导文档,给出了使用Android Studio导入Android源码的方法步骤. 环境: Ubuntu 12.04,o ...

  2. Android Studio系列(二)使用AS开发/调试整个android系统源代码(不定时更新)

    转载自:http://blog.csdn.net/aaa111/article/details/43227367 一.修改AS的配置 由于Android源码太大了,在过导入源码和后续工作中,AS需要占 ...

  3. 老罗的《Android系统源代码情景分析》翻了10遍还看不懂?因为你用错了

    最近老朽又把罗升阳老师的<Android系统源代码情景分析>拿出来啃了一番. 为什么要加个"又"呢?因为从老罗的第一版开始到迄今为止尚未更新的第三版为止,每年有学习冲动 ...

  4. Android系统源代码情景分析:基础知识

    老罗(罗升阳)发表在的InfoQ上的好文,最新在学习Android,转载一下,方便学习. 老罗的CSDN blog链接:http://blog.csdn.net/Luoshengyang/ 原文链接: ...

  5. Android系统源代码下载

    引用:http://www.cnblogs.com/mandroid/archive/2011/06/06/2073473.html 一.概述 众所周知,Android移动操作系统是Google花费了 ...

  6. Android菜鸟的成长笔记(5)——Android系统源代码你下载了吗?

    在上一篇中我们用Android系统源代码分析了我们前面写的代码,有的朋友可能就会问怎么才能下载到Google官方的源代码呢?下面我们通过Git管理工具来对Android系统源代码进行下载.另外为了方便 ...

  7. 《Android系统源代码情景分析》一书勘误

    在大家的支持和鼓励下,<Android系统源代码情景分析>一书得以出版了,老罗在此首先谢过大家了.本书的内容来源于博客的文章,经过大半年的整理之后,形成了初稿.在正式出版之前,又经过了三次 ...

  8. android 网络调试 源代码,一个步骤教你调试Android系统源代码

    有时候我们为了搞懂Android系统组件的运行原理,需要查看系统的源代码,但是如果我们不仅能看源码,要是还能调试,岂不是更好更方便. 所以,我们就说下如何调试系统源代码.其实很简单的了. 1.确认自己 ...

  9. 开发一个基于 Android系统车载智能APP

    很久之前就想做一个车载相关的app.需要实现如下功能: (1)每0.2秒更新一次当前车辆的最新速度值. (2)可控制性记录行驶里程. (3)不连接网络情况下获取当前车辆位置.如(北京市X区X路X号) ...

最新文章

  1. js去掉前后空格的函数_2020年最火爆的Vue.js面试题
  2. ireport怎么套打_阴阳师:当前版本道馆突破怎么打?九套阵容让你成为道馆小能手...
  3. boost::fusion::vector用法的测试程序
  4. 常用UI模板,loading框,提醒框,弹框确认框
  5. 4修改初始值_Java基础篇4——循环
  6. 【腾讯Bugly干货分享】那些年,我们一起写过的“单例模式”
  7. C语言项目:绽放的玫瑰花
  8. Eigen--Array
  9. 高效向前“零延迟” 数据中心IT自动化势在必行
  10. ip_conntrack 模块的作用
  11. 实现一个简单的类似spring的pointcut正则表达式
  12. 440页PPT华为大数据分享专场|实时|离线|数仓
  13. ajaxfileupload -- 一款不错的AJAX文件上传插件
  14. win10系统WiFi突然消失打不开,终极解决方法
  15. 三极管的下拉电阻作用是什么?
  16. centos安装oracle报错,CentOS安装oracle和rsh服务报错处理
  17. win10多用户同时远程桌面登陆Termsrv.dll(允许多个RDP会话)-win10最新2004版。
  18. 怎么用计算机的计算器转换进位制,计算机进制换算(进制转换计算器)
  19. 学生学籍管理系统简单设计(上)
  20. 数学通道的应用(十五)-电阻的测量

热门文章

  1. 优秀的装机必备「系统「效率「笔记「程序员」mac软件集
  2. 如何去除视频中的水印
  3. 三代单传、传宗接代、重男轻女
  4. python-弱引用
  5. linux软raid 系统坏了,解决LINUX软RAID常见问题
  6. 屏幕缩小1 1html,电脑屏幕变小了左右黑几种解决方法
  7. 毕业5年决定你的一生_3
  8. Deep Few-Shot Learning for Hyperspectral Image Classification(2019)——深度学习论文笔记(四)
  9. Kindle刷机安装微信读书。
  10. 【C++】2022:【例4.7】最小n值(信息学奥赛)