《深入理解Android:卷III A》一一1.3在IDE中导入Android源代码

简介:

本节书摘来华章计算机出版社《深入理解Android:卷III A》一书中的第1章,第1.3节,作者:张大伟 更多章节内容可以访问云栖社区“华章计算机”公众号查看。1

1.3在IDE中导入Android源代码

尽管Android的源代码并不依赖IDE进行编译,但是使用IDE进行代码的浏览、查找与跳转无疑是最方便的选择。本书所涉及的Android源代码主要是由Java语言以及C/C++语言编写的。对Java代码来说,Eclipse是最佳选择,而对C/C++代码来说,本书推荐使用速度更快的SourceInsight。
1.3.1将Android源代码导入Eclipse
首先需要将development/ide/eclipse/.classpath文件复制到源代码的根目录下。这个文件将在导入代码时告诉Eclipse在源代码的哪些文件夹中保存了Java代码,其内容片段如下:
[.classpath]

  ......
  <classpathentry kind="src" path="packages/apps/Browser/src"/>
  ......
  <classpathentry kind="src" path="frameworks/base/core/java"/>
  <classpathentry kind="src" path="out/target/common/obj/....../core/java"/>
  <classpathentry kind="src" path="out/target/common/R"/>
  ......


这个xml文件由一系列classpathentry组成,每一个classpathentry指定了一个包含Java代码的文件夹,而Eclipse会从这些文件夹中查找并导入Java代码。这其中一批文件夹的路径以out文件夹打头,它们就是在Android编译过程中所产生的代码。倘若在没有进行过完整编译的情况下进行代码导入就会因为这些代码的丢失而使得某些引用无法解析。另外,倘若读者对某些文件夹下的代码不感兴趣,可以在进行代码导入前将它们从.classpath中注释掉以避免花费过长的导入时间以及过多的内存占用。就本书的内容而言,建议只保留framework相关的文件夹(注意,out文件夹下的framework相关文件夹也需要保留)。
修改完.classpath文件之后,便可以通过Eclipse下的菜单“File→New→Java Project”所打开的New Java Project对话框进行Android源代码的导入,如图1-3所示。在这个对话框中为项目取一个名字,然后将Location设置为存放Android源代码的根目录,然后点击Finish按钮就可以开始导入代码。这个过程会比较慢,读者需要耐心等待。
在导入完成之后,Android将会以一个Java工程的形式出现在Eclipse的Package Explorer中,接下来就可以在Eclipse中浏览代码了。
image

图1-3在Eclipse中导入Android源代码
熟悉一些常用的快捷键可以极大地提高代码的阅读效率。其中最常用的有:
CTRL+SHIFT+T组合键,跳转到一个类或接口的定义。
CTRL+O组合键,跳转到当前文件中所定义的一个成员(内部类、成员变量或方法等)。
CTRL+SHIFT+R组合键,跳转到一个特定的代码文件。
CTRL+SHIFT+G组合键,查找选中的元素在工作区中的引用位置。
另外,可以在另一个Android程序的项目中将导入的Android源代码设置为一个依赖项目,这样就可以在APP代码中实现到Android Framework代码的无缝跳转。
1.3.2将Android源代码导入SourceInsight
相对于Eclipse,SourceInsight更适合用来阅读Android中的C/C++代码。读者可以从其官方网站上下载并获得30天的免费试用权。
将Android源代码导入SourceInsight非常简单。点击主菜单上的“Project→New Project”,在弹出的对话框中为新项目取一个名字然后点击OK按钮,如图1-4所示。
image

图1-4新建SourceInsight项目
在弹出的对话框的Project Source Directory中设置好Android源代码的根目录,点击OK按钮,如图1-5所示。
image

图 1-5设置Android源代码的根目录
在新对话框中选中希望导入的代码所在的文件夹,然后点击Add(仅导入选中文件夹下的代码)或Add Tree(导入选中文件夹及其子文件夹下的代码)按钮,如图1-6所示,之后点击Close按钮结束代码的导入。
image

图1-6在SourceInsight中选择导入的代码路径
接下来就可以方便地在SourceInsight中阅读代码了。
在SourceInsight中追加导入或移除代码文件十分方便。只要点击主菜单上的“Project→Add and Remove Project Files”就可以打开如图1-6所示的对话框,然后进行代码的追加导入或删除。

相关文章
|
3月前
|
Java Android开发 芯片
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
本文介绍了如何将基于全志H713芯片的AOSP Android源码导入Android Studio以解决编译和编码问题,通过操作步骤的详细说明,展示了在Android Studio中利用代码提示和补全功能快速定位并修复编译错误的方法。
143 0
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
|
3月前
|
搜索推荐 Android开发
学习AOSP安卓系统源代码,需要什么样的电脑?不同配置的电脑,其编译时间有多大差距?
本文分享了不同价位电脑配置对于编译AOSP安卓系统源代码的影响,提供了从6000元到更高价位的电脑配置实例,并比较了它们的编译时间,以供学习AOSP源代码时电脑配置选择的参考。
262 0
学习AOSP安卓系统源代码,需要什么样的电脑?不同配置的电脑,其编译时间有多大差距?
|
3月前
|
Dart 开发工具 Android开发
Android Studio导入Flutter项目提示Dart SDK is not configured
Android Studio导入Flutter项目提示Dart SDK is not configured
332 4
|
3月前
|
Java 开发工具 Android开发
Android Studio利用Build.gradle导入Git commit ID、Git Branch、User等版本信息
本文介绍了在Android Studio项目中通过修改`build.gradle`脚本来自动获取并添加Git的commit ID、branch名称和用户信息到BuildConfig类中,从而实现在编译时将这些版本信息加入到APK中的方法。
82 0
|
6月前
|
Android开发
【苹果安卓通用】xlsx 和 vCard 文件转换器,txt转vCard文件格式,CSV转 vCard格式,如何批量号码导入手机通讯录,一篇文章说全
本文介绍了如何快速将批量号码导入手机通讯录,适用于企业客户管理、营销团队、活动组织、团队协作和新员工入职等场景。步骤包括:1) 下载软件,提供腾讯云盘和百度网盘链接;2) 打开软件,复制粘贴号码并进行加载预览和制作文件;3) 将制作好的文件通过QQ或微信发送至手机,然后按苹果、安卓或鸿蒙系统的指示导入。整个过程简便快捷,可在1分钟内完成。
159 6
|
6月前
|
Android开发
【通讯录教程】苹果安卓鸿蒙系统通用,如何大批量导入手机号码到手机的通讯录,下面教你方法,只需1分钟搞定几万个号码的导入手机电话本
该文介绍了一种快速批量导入手机通讯录的方法,适用于处理大量手机号的需求,如微商管理、客户资料整理等。在QQ同步助手开始收费后,提供了免费的替代方案。步骤包括:下载批量导入软件(链接提供腾讯云盘和百度网盘地址),清空通讯录(非必需),制作符合格式的通讯录文件,并按操作系统(苹果、安卓或鸿蒙)进行导入。整个过程只需1分钟,简便快捷。
481 2
|
6月前
|
Java Android开发 C++
Android源代码定制:MK文件执行顺序|属性覆盖
Android源代码定制:MK文件执行顺序|属性覆盖
381 2
Android源代码定制:MK文件执行顺序|属性覆盖
|
6月前
|
Android开发 芯片
Android源代码定制:移除无用lunch|新建lunch|自定义customize.mk
Android源代码定制:移除无用lunch|新建lunch|自定义customize.mk
281 3
|
6月前
|
Java Android开发
Android Studio的使用导入第三方Jar包
Android Studio的使用导入第三方Jar包
44 1
|
6月前
|
Android开发
Android源代码定制:Overlay目录定制|调试Overlay资源是否生效
Android源代码定制:Overlay目录定制|调试Overlay资源是否生效
253 0

推荐镜像

更多
下一篇
无影云桌面