Android平台代码很多,关系也很复杂,通常我们调试程序的时候是无法跟踪到Android framework code里的,如果能调试跟踪Android source code将给我们这些初学者带来很多便利,本文将给出一个调试跟踪Android source code 的方法。
1. 首先,得到Android 源代码(可参考之前的文章--如何获取Android源代码并编译.doc),并且编译,得到output file,在(Android source)/out目录下,也可通过别的途径获取Android source code (以androidsrc.tgz为例) 和别人编译好的 output file(out.tgz)
2. 解压缩这两个 tgz 文件,并把解压出来的out 目录放到 myandroid 目录下,如下图所示。
3. 拷贝 myandroid\development\ide\eclipse\.classpath 到 myandroid\.classpath.
4. 拷贝 myandroid\out\target\product\generic\*.img 到 {Android SDK}\tools\lib\images 并且覆盖源文件.
5. 运行{Android SDK}\tools目录下的 emulator.exe.
6. 运行{Android SDK}\tools目录下的 ddms.bat。你可以看到下面的窗口,里面会列出当前emulator里跑的进程:
7. 启动 eclipse ,按照这个步骤 File->New->Java Project (不是 Android Project!) ->Create project from existing source 选到 myandroid 目录 .
8. 在经过长时间等待之后,Android source code将被导入project,正常情况下应该没有error,但是会有很多warning,如果有error后面的debug将不会成功,原因可能是output file ,out.tgz在解压得过程中出错,重新copy out.tgz,或者完整拷贝 out/ 目录到本地目录下,即可解决。
9. 选择想要调试的进程在 DDMS, 用 phone 进程为例,ddms一定要在eclipse之前启动,否则eclipse启动的时候也会启一个ddms,会造成冲突。
10. 在eclipse里, Run->Debug Configuration->Remote Java Application->New, 设置 Connection port to 8700 (DDMS’s 默认端口,你可以改变它).
11. 设置断点在source code,然后就可以像往常一样进行调试了。
分享到:
相关推荐
### 如何调试跟踪Android源代码 #### 背景与意义 随着移动互联网技术的飞速发展,Android作为全球最大的移动操作系统之一,其源代码的复杂性和多样性为开发者提供了丰富的功能和服务。对于开发者而言,能够深入...
通过实践以上步骤和技巧,你将能够逐步掌握调试跟踪Android Framework源代码的方法,提升自己的Android开发技能。不断学习和实践,你将能够在遇到复杂问题时游刃有余,为Android系统的优化和创新打下坚实基础。
本文将详细介绍一种调试跟踪Android Framework源代码的方法,帮助开发者更好地理解和使用Android源代码。 #### 二、准备工作 为了能够顺利地调试Android源代码,我们需要完成以下几项准备工作: 1. **获取Android...
本文将详细介绍如何使用Eclipse来跟踪和调试Android源代码,包括应用层和框架层,这对于提升开发效率和解决复杂问题至关重要。 1. **导入Android源码到Eclipse** - 首先,你需要获取Android源码,通常可以从...
在Android系统源码开发中,理解并掌握源码跟踪与调试是至关重要的。这不仅可以帮助开发者定位问题,还可以深入理解系统的内部运作机制。本文将详细解释如何进行Android源码的单步调试。 首先,要进行源码跟踪和调试...
总之,搭建Android源代码开发和调试环境是一项基础但关键的任务,它使得开发者能够深入理解Android系统的内部工作原理,进行定制化开发和性能优化。通过文中提供的步骤,开发者可以逐步建立自己的环境,从而在...
Android源代码开发环境与SDK开发环境相比,优势是可以查看和调试系统源代码,包括Java代码和C/C++代码。这对应用开发也是非常有用的,因为在开发中碰到疑难杂症时可以跟踪到系统内部去定位问题。对于涉及到C/C++代码...
【疯狂单击小游戏Android源代码】是一个专门为Android平台开发的小游戏项目,它的核心设计思想是通过用户快速连续点击屏幕来获得分数,这类游戏通常能够考验玩家的手速和反应能力。这个项目的源代码是使用Android ...
9. **版本控制**:Android源代码使用Git进行版本管理,熟悉Git操作和提交历史有助于跟踪系统演进,学习不同版本之间的差异。 10. **社区与贡献**:Android开源项目鼓励社区参与,开发者可以通过阅读源码,发现和...
【Android串口调试助手源代码】是一个专门为Android设备设计的应用程序,用于进行串行通信调试。这个源代码是官方提供的,意味着它具有可靠性和稳定性,适用于开发者和爱好者想要深入了解或自定义串口通信功能。 ...
"Android源码——类似搜狗输入法android源码.zip" 这个标题揭示了我们即将探讨的主题,即一个与搜狗输入法相仿的Android应用程序的源代码。搜狗输入法是一款流行的手机输入法,以其智能预测、便捷切换和丰富的表情...
简单的船只轨迹跟踪管理系统源码+项目说明(Android).zip简单的船只轨迹跟踪管理系统源码+项目说明(Android).zip简单的船只轨迹跟踪管理系统源码+项目说明(Android).zip简单的船只轨迹跟踪管理系统源码+项目说明...
可以从Android开放源代码项目(AOSP)的GitHub仓库下载,选择合适的Android版本分支。下载完成后,解压到本地,准备好源码环境。 接下来,在AS中导入源码项目。打开AS,选择“Open an existing Android Studio ...
对于开发者来说,能够高效地进行Android源码的开发和调试至关重要。本文将详细介绍如何利用Eclipse这一强大的集成开发环境(IDE)来进行Android源码的开发工作。 #### 一、准备工作 在开始使用Eclipse进行Android...
10. **版本控制与协作**:对于源代码管理,开发者可能会使用Git,这样可以方便地跟踪代码变更,多人协作时也能避免冲突。 总的来说,Android象棋源代码项目涵盖了许多Android开发的关键技能,不仅需要扎实的编程...
这份源代码是理解Android系统运行机制、进行系统级定制和应用程序开发的关键资源。 1. **系统架构**:Android系统基于Linux内核,采用分层架构,包括Linux内核层、硬件抽象层、系统库层、应用程序框架层和应用程序...
开源中国提供的android-app-master可能是该社区Android应用客户端的源代码,它可能涵盖了以下几个关键部分: 1. **主工程结构**:项目通常分为多个模块,如`app`(应用模块)、`library`(共享库)、`data`(数据...