1 简介
应用开发人员当前可通过安卓* SDK 来设计和构建安卓应用项目,并使用 Eclipse* 进行调试。 但是它并没有提供相应的功能来调试系统级 Java*/C++ 代码,该代码位于安卓代码库中,不能使用 Android SDK 来构建和调试。 本文介绍了如何使用 Eclipse 来调试安卓系统级 Java/C++ 代码。
2 安装
2.1 安装 JDK
通过下列链接下载 JDK6 (Java SE 6 更新软件包): http://java.sun.com/javase/downloads/index.jsp
当前的 JDK6 名为 jdk-6u32-linux-x64.bin。 我们将举例说明如何使用。
先进行安装,然后使用默认的 JDK。
| $ cd /usr/lib/jvm $ sudo /path/to/jdk-6u32-linux-x64.bin $ sudo ln -s jdk1.6.0_32 java-6-sun $ export PATH=/usr/lib/jvm/java-6-sun/bin:$PATH $ export JAVA_HOME=/usr/lib/jvm/java-6-sun |
2.2 安装 Eclipse
通过下列网站下载 Eclipse 3.6.2 或更高版本:http://www.eclipse.org/downloads/
当前的 Eclipse Classic 版本时 3.7.2 (Indigo),下面让我们用它来举例说明。
| $ mkdir ~/android-sdk $ cd ~/android-sdk $ tar zxf /path/to/eclipse-SDK-3.7.2-linux-gtk-x86_64.tar.gz |
2.3 安装 Eclipse CDT 插件
要创建 C/C++ 项目并调试 C++ 代码,我们需要安装 CDT 插件。
启动 Eclipse。
| $ cd ~/android-sdk/eclipse/ $ ./eclipse |
如果系统中存在防火墙,请设置代理程序: “Window->Preferences->General->Network Connection”,如图 1 所示。

图 1. Eclipse 代理程序设置
点击“Help->Check for updates”,下载最新的 Eclipse 插件列表。
进入“Window->Preferences->Install/Update->Available Software Sites”并启用
| http://download.eclipse.org/sequoyah/updates/2.0/ |

图 2. Eclipse 软件更新
安装 CDT 插件: 进入“Help->Install New Software”。
选择 “http://download.eclipse.org/sequoyah/updates/2.0/”,取消选择“Group items by category”复选框,然后选择并安装所有插件。

图 3. 安装 Sequoyah 插件
2.4 安装安卓 SDK
从下列网站下载 Android SDK: http://developer.android.com/sdk/index.html 当前的安卓 SDK 是 r18, 下面让我们用它来举例说明。
安装它:
| $ cd ~/android-sdk/ $ tar zxf /path/to/android-sdk_r18-linux.tgz |
启动安卓软件包管理器以下载安卓 SDK 软件包:
| $ cd ~/android-sdk/android-sdk-linux/tools/ $ ./android |
设置代理程序并选中 “Force https://...sources to be fetched using http://”

图 4. 安卓 SDK 管理器代理程序设置
下载您感兴趣的软件包(必须下载 Tools 软件包)

图 5. 安装安卓 SDK 更新
2.5 安装安卓 ADT 插件
安装安卓 ADT(安卓开发工具)。
启动 Eclipse。
| $ cd ~/android-sdk/eclipse/ $ ./eclipse |
点击“Help->Install New Software”,然后点击 “Add Repository” 按钮。
在出现的 “Add Repository” 对话框中,在 “Name” 处输入“ADT Plugin”,在 “Location” 处输入下列 URL:
| https://dl-ssl.google.com/android/eclipse/ |

图 6. 安装 ADT 插件
按照下列步骤安装所有 ADT 插件。
然后进入“Window->Preference->Android” ,并在标有 “SDK location” 的框内输入安卓 SDK 路径。

图 7. 安卓 SDK 设置
2.6 安装安卓系统调试实用程序
保存下面的软件包,并将其解压到您的 Linux* 主机上。

| $ cd ~/android-sdk |
3 调试安卓系统 Java 代码
3.1 调试 system_process
system_process 进程被称作安卓系统服务器。 系统启动时,zygote 对该进程进行分解(fork)。 下面我们来看一下如何使用 Eclipse 来调试该线程。
3.1.1 为 system_process 创建一个 pseudo(伪)安卓项目。
Dalvik 调试监测程序服务器(DDMS)只能在安卓项目中调试代码。 system_process 是从安卓代码库而非安卓项目中构建。 如要使用 Eclipse/DDMS 调试它,我们需要为其创建一个pseudo(伪)安卓项目。
进入“File->New->Project”,然后选择 “Android project”。

图 8. 创建一个安卓项目

图 9. 安卓软件包名称
点击“AndroidManifest.xml”,然后将软件包名称修改为 “system_process”。

图 10. 修改安卓软件包名称
3.1.2 使用 DDMS 调试 system_process
转至 DDMS 视图,选择 system_process,然后点击“debug”按钮。

图 11. Android DDMS 视图
转至调试视图,选炸ky"http://www.2cto.com/kf/web/php/" target="_blank" class="keylink">PHPo837tffK1LXEyM7S4s/fs8yjrLXju/ehsHN1c3BlbmShsbC0xaWhozwvcD4KPHA+CiA8L3A+CjxwPgo8aW1nIHNyYz0="https://www.cppentry.com/upload_files/article/76/1_zn8i4__.jpg" alt="\">
图 12. 安卓调试视图
要执行 Java 源代码级调试,我们需要指定安卓来源的位置。 点击“Edit Source lookup Path”按钮,然后点击“Add”按钮,选择“File System Directory”。 frameworks/base 和 libcore 是两个放置安卓 Java 代码的主要目录。
选择 Android frameworks/base。

图 13. 设置框架基本源路径
此外,我们还需要添加 libcore 目录。

图 14.设置 libcore 源