1.5.2 用Eclipse开发和调试源代码
Eclipse是开发调试应用层以及应用框架层源代码最适合的工具,本节讲解如何搭建Eclipse开发和调试环境。开始前,请读者自行到Eclipse官方网站(http://www.eclipse.org/downloads/)下载Eclipse,推荐使用Eclipse Juno (v 4.2) - Eclipse for Mobile Developers版。
1.配置Eclipse
步骤1 安装ADT插件。启动Eclipse, 在菜单栏中依次选择Help→Install New Software...→Add之后,弹出Add Repository提示框,在提示框的Name栏填写“Android-ADT-Plugin”(或者任意能标识ADT插件的名称),Location栏里填写“https://dl-ssl.google.com/android/eclipse/”,单击OK按钮,如图1-5所示。
安装完成后重新启动Eclipse。
步骤2 配置ADT和SDK。
ADT插件安装好后,需要在Eclipse中正确配置SDK才能使用。步骤如下:启动Eclipse,在菜单栏中依次选择Window→Preferences→Android→Browse,选择SDK路径,然后依次单击Apply→OK,如图1-6所示。
2.Eclipse调试框架层
Android框架层的设计十分精妙,如果只是阅读源码,很难掌握。Eclipse为我们提供了调试框架层源码的功能,大大简化了源码的阅读。在Eclipse中调试框架层源码,需要遵循以下步骤:
步骤1 复制配置文件。
Android源代码中提供了Eclipse Java项目的配置文件,位于Android源码根目录下的development/ide/eclipse/.classpath路径下,我们将该文件复制到Android源码的根目录中。笔者机器的根目录为~/android/jellybean。
步骤2 新建Java项目。
在新建界面(New Java Project)的项目名(Project name)中填入“jellybean”,项目位置(Location)选择Android源码根目录,如图1-7所示。
注意 一定要新建Java 项目,而不是Android 项目。如果新建Android项目,ADT将根据Android项目的结构生成新的目录,这将直接破坏Android源代码。
项目建成后,在Package Explorer视图中显示项目的包结构,如图1-8所示。
步骤3 运行模拟器。
要调试Android源码,需要运行模拟器或者真机。本节讲解如何在源码环境下运行模拟器,真机中不需要这些步骤。在终端中进入源码根目录,运行以下命令启动模拟器:. build/envsetup.shlunch 11emulator
执行后出现模拟器界面。模拟器启动后,在Eclipse中切换到DDMS视图,就可以看到模拟器中运行的进程号及其端口号,如图1-9所示。
步骤4 如果要调试某个进程,需要首先在该进程对应的源码中加入断点。
以联系人应用为例,首先在需要调试的源码中加入断点,然后在DDMS视图中选中联系人对应的进程即com.android.contacts(鼠标单击即为选中),并记下其端口号(8612),如图1-10所示。
然后在Eclipse主菜单中依次选择Run-Debug Configurations→Remote Java Application,在弹出的Debug Configurations窗口中设置Name和Port。Name可以用jellybean-contacts,Port填入contacts的端口8612。
然后依次单击Apply→Debug,进入调试页面。
注意 如果出现“Failed to connect to remote VM”错误提示,说明端口被占用,需要在DDMS中“杀死”要调试的进程后重新运行该程序,然后再选中该程序。
1.5.3 用Source Insight阅读源代码
Eclipse是开发和调试Android Java层源码的最佳之选。但如果仅仅是为了阅读代码,特别是同时阅读Java和C/C++代码,就不得不用Source Insight工具了。
Source Insight是Windows下的源码阅读软件,其官方网站是http://www.sourceinsight.com/。读者可以在其官方网站上下载使用手册,详细学习使用方法。使用手册下载网址是 http://www.sourceinsight.com/docsv3.html。
注意 在Ubuntu上可以通过Wine安装并使用Source Insight,但其界面远不如在Windows下的效果好。如果不想放弃这么好的工具,只能把源码放在Windows目录下阅读了。
这里不再讲述如何安装Source Insight,只介绍Source Insight的基本使用方法。
步骤1 使用Source Insight建立源码工程。
使用Source Insight阅读源码,首先要建立源码工程,步骤是:依次选择菜单Project→ New Project,在弹出的对话框中填入项目名jellybean,并选择项目文件存放路径,单击OK按钮继续;在随后弹出的New Project Settings对话框中,选择项目的Android源码路径,在Project Source Directory-the main location of your source files下方填入源码路径,单击OK按钮继续;随后弹出Add and Remove Project Files对话框,如图1-11所示。
图1-11中,左侧是Directory栏,在这里选择要导入的包;中间是File Name栏,会列出Directory栏中所选包下的所有目录和文件,读者可以选择一个或者多个包导入;右侧有4个按钮,用于添加新包和删除已有包,一般选择Add All或者Add Tree即可。
注意 如果读者机器配置不够高,不要一次把所有源码全部导入,只需要导入当前关注的源码,之后读者可以在菜单Project→Add and Remove Project Files中调出上述界面,再根据需要添加或删除源码。
步骤2 在Source Insight中阅读源码。
源码工程创建完毕后,进入Source Insight主界面。在主界面中可以看到jellybean Project的子窗口,在该窗口中输入需要查看的文件名ActivityManagerService.java,Source Insight将自动分析该文件信息,如图1-12所示。
注意 Source Insight Project子窗口的功能类似于Eclipse中的Ctrl+Shift+R组合键的操作效果。
相关资源:APP inventor 打地鼠