Android Studio系列(二)使用AS开发/调试整个android系统源代码(不定时更新)
2015-01-28 11:01
525 查看
转载请注明出处:http://blog.csdn.net/aaa111/article/details/43227367
后续文章
Android Studio系列(三)Version Control I 使用内置版本管理工具管理源码
Android Studio系列(四)Version Control II Annotate
------
本文是以源码中development/tools/idegen/README作为指导文档,给出了使用Android Studio导入Android源码的方法步骤。
由于Android Studio(以下简称AS)是基于IntelliJ IDEA开发的,所以本文也适用于IntelliJ IDEA。
![](http://hcz017.qiniudn.com/0.AS_%E5%90%AF%E5%8A%A8.jpg)
自动保存
多设备实时预览
内置终端
UI漂亮
自带git github svn插件
强大的搜索
在2.3.1以后的版本中修改/home/username/.AndroidStudio2.3/studio64.vmoptions文件,增加-Xms748m -Xmx4096m,也可通过help->Edit Custom VM Options修改。
在源码根目录依次执行
如果我们一直都不会去修改prebuilt文件夹下的代码,可以先修改android.iws,在合适的位置添加:
之后再打开源码目录下的android.ipr。
另外,第一次导入源码需要生成index,因此花费的时间比较长,完整扫描一次以后再打开就没这么慢了。
在AS中参照下图Project Structure设置,在SDKs设置中加入必须的JDK,SDK。
创建一个新的JDK,可以取名为1.7(No Libraries),然后删除classpath标签页下面的jar文件。 这样可以确保使用Android源码里的库文件。
![](http://hcz017.qiniudn.com/1.AS_JDK_Nolibs.jpg)
之后将1.7(No Libraries)作为Android SDK要使用的Java SDK。如下图
![](http://hcz017.qiniudn.com/2.AS_JDK_Android.jpg)
之后在Project标签中的Project SDK中选择对应的Android API版本。
![](http://hcz017.qiniudn.com/3.AS_JDK_SDK.jpg)
![](http://hcz017.qiniudn.com/6.AS_Module_Android.jpg)
在代码中加断点,然后选择'Run'->'Attach debugger to Android process'或者直接点击下图中的手机上有个虫子的图标。
![](http://7sbojw.com1.z0.glb.clouddn.com/AS2_AS_toolsbar_debug.jpg)
在弹出的选择进程(Choose Process)对话框中,先勾选显示所有进程,然后选择要debug的代码所在的进程,点击OK即可(可同时debug多个进程)。
![](http://hcz017.qiniudn.com/4.AS_Modules.jpg)
将除了Module source和Android API以外所有的依赖删掉。
点击上图中'+'并选择'Jars or directories'选项,将frameworks文件夹添加进来。如:
![](http://hcz017.qiniudn.com/5.AS_Module_fram5.ework.jpg)
如果之后还是遇到了代码跳转错误,请仿照上面的步骤将相应代码的路径或jar文件添加到其Dependencies标签页中。最近我在几个英文网站上看到把out/target/common/R文件夹标记为Sources,我猜测是为了解决找不到R资源的问题,但是我测试没有生效。读者自行选择吧。
![](https://notes.cscao.com/media/IDEA-mark-R-as-source.png)
全部快捷键请看另一篇文章:IDEA 快捷键 Android Studio快捷键
Tips:
因为Android Studio 的配置和缓存文件存在home/.AndroidStudio文件夹中,时间长了可能会导致系统磁盘吃紧,若要修改默认存储位置(比如改到其他挂在盘),需修改android-studio/bin/idea.properties文件中相关的配置信息,修改内容参考:
![](http://7sbojw.com1.z0.glb.clouddn.com/AS3_idea.properties.png)
注:前面生成的文件分别作用为:
①android.iws 包含工作区的个人设置,比如打开过的文件,版本控制工具的配置,本地修改历史,运行和debug的配置等。
②android.ipr 一般保存了工程相关的设置,比如modules和modules libraries的路径,编译器配置,入口点等。
③android.iml 用来描述modules。它包括modules路径、 依赖关系,顺序设置等。一个项目可以包含多个 *.iml 文件。你可能需要的链接:Android Studio系列教程
如何使用Android Studio开发/调试Android源码
Ubuntu下配置Android Studio的快捷启动方式
Android Studio简单设置
Android Studio 常用功能介绍
配置Android Studio
感谢原作者!
后续文章
Android Studio系列(三)Version Control I 使用内置版本管理工具管理源码
Android Studio系列(四)Version Control II Annotate
------
本文是以源码中development/tools/idegen/README作为指导文档,给出了使用Android Studio导入Android源码的方法步骤。
由于Android Studio(以下简称AS)是基于IntelliJ IDEA开发的,所以本文也适用于IntelliJ IDEA。
![](http://hcz017.qiniudn.com/0.AS_%E5%90%AF%E5%8A%A8.jpg)
零、为什么用AS
智能代码提示自动保存
多设备实时预览
内置终端
UI漂亮
自带git github svn插件
强大的搜索
一、修改AS的配置
由于Android源码太大了,在过导入源码和后续工作中,AS需要占用大量内存,所以我们要先做些设置。在2.3.1以后的版本中修改/home/username/.AndroidStudio2.3/studio64.vmoptions文件,增加-Xms748m -Xmx4096m,也可通过help->Edit Custom VM Options修改。
二、生成导入AS所需配置文件(*.ipr)
为了成功将源码导入AS,我们需要先生成AS可是别的项目工程配置文件。在源码根目录依次执行
source build/ensetup.sh make idegen development/tools/idegen/idegen.sh之后会出现类似下面的结果:
Read excludes: 5ms Traversed tree: 44078ms这时会在源码的根目录下生成android.ipr,android.iws和android.iml三个文件。
三、导入源码
android源码代码量较大,全部导入比较耗时,因此在打开前可以先去除一些不想导入的代码文件夹。如果我们一直都不会去修改prebuilt文件夹下的代码,可以先修改android.iws,在合适的位置添加:
<ignored path="$PROJECT_DIR$/prebuilt/" />。
之后再打开源码目录下的android.ipr。
另外,第一次导入源码需要生成index,因此花费的时间比较长,完整扫描一次以后再打开就没这么慢了。
四、配置AS的JDK、SDK
在上一步操作之后的等待期间刚好让我们来配置一下JDK和SDK。在AS中参照下图Project Structure设置,在SDKs设置中加入必须的JDK,SDK。
创建一个新的JDK,可以取名为1.7(No Libraries),然后删除classpath标签页下面的jar文件。 这样可以确保使用Android源码里的库文件。
![](http://hcz017.qiniudn.com/1.AS_JDK_Nolibs.jpg)
之后将1.7(No Libraries)作为Android SDK要使用的Java SDK。如下图
![](http://hcz017.qiniudn.com/2.AS_JDK_Android.jpg)
之后在Project标签中的Project SDK中选择对应的Android API版本。
![](http://hcz017.qiniudn.com/3.AS_JDK_SDK.jpg)
五、debug源码
我们可以通过给刚导入的工程在'Modules'中添加'Android Framework'来让AS将它作为一个Android工程,从而方便我们调试代码。选择途中Framework目录下的Android![](http://hcz017.qiniudn.com/6.AS_Module_Android.jpg)
在代码中加断点,然后选择'Run'->'Attach debugger to Android process'或者直接点击下图中的手机上有个虫子的图标。
![](http://7sbojw.com1.z0.glb.clouddn.com/AS2_AS_toolsbar_debug.jpg)
在弹出的选择进程(Choose Process)对话框中,先勾选显示所有进程,然后选择要debug的代码所在的进程,点击OK即可(可同时debug多个进程)。
六、解决源码中跳转错误问题
设置'Modules'的依赖![](http://hcz017.qiniudn.com/4.AS_Modules.jpg)
将除了Module source和Android API以外所有的依赖删掉。
点击上图中'+'并选择'Jars or directories'选项,将frameworks文件夹添加进来。如:
![](http://hcz017.qiniudn.com/5.AS_Module_fram5.ework.jpg)
如果之后还是遇到了代码跳转错误,请仿照上面的步骤将相应代码的路径或jar文件添加到其Dependencies标签页中。最近我在几个英文网站上看到把out/target/common/R文件夹标记为Sources,我猜测是为了解决找不到R资源的问题,但是我测试没有生效。读者自行选择吧。
![](https://notes.cscao.com/media/IDEA-mark-R-as-source.png)
七、快捷键
快捷键是利器啊!熟悉了快捷键效率飙升!不过有些与系统快捷键冲突了,若要实行请自行修改。全部快捷键请看另一篇文章:IDEA 快捷键 Android Studio快捷键
Tips:
因为Android Studio 的配置和缓存文件存在home/.AndroidStudio文件夹中,时间长了可能会导致系统磁盘吃紧,若要修改默认存储位置(比如改到其他挂在盘),需修改android-studio/bin/idea.properties文件中相关的配置信息,修改内容参考:
![](http://7sbojw.com1.z0.glb.clouddn.com/AS3_idea.properties.png)
注:前面生成的文件分别作用为:
①android.iws 包含工作区的个人设置,比如打开过的文件,版本控制工具的配置,本地修改历史,运行和debug的配置等。
②android.ipr 一般保存了工程相关的设置,比如modules和modules libraries的路径,编译器配置,入口点等。
③android.iml 用来描述modules。它包括modules路径、 依赖关系,顺序设置等。一个项目可以包含多个 *.iml 文件。你可能需要的链接:Android Studio系列教程
如何使用Android Studio开发/调试Android源码
Ubuntu下配置Android Studio的快捷启动方式
Android Studio简单设置
Android Studio 常用功能介绍
配置Android Studio
感谢原作者!
相关文章推荐
- Android Studio系列(二)使用AS开发/调试整个android系统源代码(不定时更新)
- Android Studio系列(二)使用AS开发/调试整个android系统源代码(不定时更新)
- Android Studio系列(二)使用Android Studio开发/调试整个android系统源代码(不定时更新)
- 使用AS开发/调试整个android系统源代码
- [Android Studio]使用AS开发Android
- 一步一步教你使用AgileEAS.NET基础类库进行应用开发-系列目录
- 如何使用Android Studio开发/调试Android源码
- Android拓展系列(10)--使用Android Studio阅读整个Android源码
- 如何使用Android Studio开发/调试Android源码
- Android Studio 使用小技巧(不定时更新)
- 使用android studio及夜神模拟器开发调试操作技巧
- 一步一步教你使用AgileEAS.NET基础类库进行应用开发-系列目录
- 一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-演示ORM的批量删除与更新
- 使用Android Studio 进行NDK开发和调试
- Android Studio:如何使用Android Studio与夜神模拟器开发调试
- 【转发】如何使用Android Studio开发/调试Android源码
- TI-Davinci开发系列之四CCS5.2使用XDS560v2在线调试ARM/DSP程序
- TI-Davinci开发系列之二使用CCS5.2TI Simulator模拟环境调试DSP程序
- 如何使用Android Studio开发/调试Android源码
- 使用Android Studio开发android应用(持续更新)