我们在调试Android应用程序的时候,有时候遇到一些莫名其妙的问题,因此我们需要查看Android内部是如何调用的。我们都知道Android是一个伟大的开源项目,因此debug的时候肯定是支持源代码级别调试的。采用源代码调试,一方面有利于发现问题,另一方面有利于我们对Android系统的整个流程有一个比较清晰的认识,对我们以后开发app或者修改rom都是大有帮助的。好了废话不说,下面就介绍一下如何在eclipse中进行源代码调试吧!

显然要进行源代码调试,首先必须下载源代码。大家可以都google的官方网站http://source.android.com/source/index.html 去下载,因为Android源代码是用git进行管理的,同时google为了管理方便,用python写了一个repo脚本进行项目管理,因此你必须确保你的电脑上安装了git和python,至于具体如何下载,大家可以参考android网站上的说明,以后我也会专门介绍如何下载和编译整个Android源代码。

我下载的是Android4.2版本,整个源代码比较大,具体的目录结构如下:

源代码下载完成后,需要导入到eclipse,这样查看起来比较方便。在命令行下,cd到development/ide/eclipse这个目录下,会发现这个目录下有一个.classpath隐藏文件

将.classpath文件拷贝到你的Android源代码的根目录下

打开eclipse,新建一个Java工程,Location选择你Android的源代码所在的目录

然后eclipse会加载Android的源代码,这个过程可能有点久,完成后点击finish,可以看到整个Android源代码都导入到eclipse中了,包括c,c++,java等所有的代码,这样查看起来就方便多了

Android源代码导入eclipse后,接下来就要进行关联调试了。首先新建一个Android的HelloWorld的工程,先在模拟器上运行一下确保没有问题,然后右击HelloWorld工程,选择Debug As  ->  Debug Configurations,选择左侧的Remote Java Application,右击选择New,可以自己设置一个端口,如我设置的是9000,然后点击Apply

在HelloWord的MainActivity设置一个断点

然后右击Debug As -> Android Application,进入Android调试器

你可以随便点击右边的ActivityThread中的一个方法,如performLaunchActivity,但是这个时候你会发现,提示源代码没有找到,你按照提示点击“Edit Source Lookup Path”,这时会弹出一个对话框,点击“Add”,选择Java Project,然后找到你之前的建的那个Java 源代码工程,这样就看到Android的源代码了,接下去的调试就和我们平常的调试一样了,如F5进入方法,F6 执行下一行等等。

因为我之前在super.onCreate方法上面设置了一个断点,按F5进入这个方法的内部,查看到Activity.java中的代码如下:

好了,整个Android源代码的调试就搭建完成了,这样就可以调试自己的代码,还有分析整个Android运行的流程了,这对于rom开发还是很有帮助的。

android 网络调试 源代码,Android源代码调试环境搭建相关推荐

  1. android4 设置栈大小,【技术分享】Android内核漏洞利用技术实战:环境搭建栈溢出实战...

    [技术分享]Android内核漏洞利用技术实战:环境搭建&栈溢出实战 2017-08-14 16:22:02 阅读:0次 预估稿费:300RMB 投稿方式:发送邮件至linwei#360.cn ...

  2. Qt | Qt For Android、Qt5.14.2安卓开发环境搭建详细步骤

    Qt | Qt For Android.Qt5.14.2安卓开发环境搭建详细步骤 目录 Qt | Qt For Android.Qt5.14.2安卓开发环境搭建详细步骤 1.简介 2.软件下载 1.J ...

  3. android上的i-jetty (1)环境搭建

    android上的i-jetty (1)环境搭建 android ftp swiftp  http://code.google.com/p/swiftp/ 介绍下如果把android设备作为一个web ...

  4. android 网络程序下载,Android之网络文件下载

    环境搭建: 本地服务器(下载wamp[Windows, Apache, MySQL, PHP ],安装即可,然后将网页或文件放进 www directory) 虚拟机(访问本地服务器的ip:10.0. ...

  5. android 网络编程实现,Android开发使用HttpURLConnection进行网络编程详解【附源码下载】...

    本文实例讲述了Android开发使用HttpURLConnection进行网络编程.分享给大家供大家参考,具体如下: --HttpURLConnection URLConnection已经可以非常方便 ...

  6. python android自动化基于java_Appium+Python自动化 1 环境搭建(适用windows系统-Android移动端自动化)...

    一.安装并配置 java jdk ①下载 java jdk后 安装,安装完成后,配置环境变量 打开计算机->系统属性->高级系统设置->环境变量->新建(系统变量),如图所示: ...

  7. 【Android进阶】Junit单元測试环境搭建以及简单有用

    单元測试的目的 首先.Junit单元測试要实现的功能,就是用来測试写好的方法是否可以正确的运行,一般多用于对业务方法的測试. 单元測试的环境配置 1.在AndroidManifest清单文件的Appl ...

  8. Java Web 网络商城案例演示一、(环境搭建)

    一.数据库建立 分析以及创建数据库 -- 创建数据库 drop database if exists `store_40`; create database `store_40`; -- 使用数据库 ...

  9. Github android客户端源代码分析之一:环境搭建

    1.下载相应的包及项目,参考https://github.com/github/android/wiki/Building-From-Eclipse. 2.若需查看某些包的源文件或者javadoc,则 ...

  10. Android 8.1 【FriendlyARM】编译环境搭建与镜像烧写

    NanoPC-T4 不仅是世界上最小的全功能接口 RK3399 一体化主板, 而且是一款完全开源的高性能计算平台.它的尺寸只有 100x64mm,标配4GB LPDDR3 内存和 16GB 闪存, 板 ...

最新文章

  1. Linux虚拟内存,你理解到位了?
  2. VMware vSphere四种迁移类型的区别与适应场景
  3. pytorch保存模型pth_Day159:模型的保存与加载
  4. 爱python网_Python
  5. 使用cocoapods
  6. 大数据生态圈常用组件(二):概括介绍、功能特性、适用场景
  7. Linear-chain CRF的推导
  8. Android Studio 打包AAR和第三方静态库
  9. 查看思科、H3C所有端口状态
  10. linux npm 使用介绍
  11. Google Code Review 浏览评论中的CL
  12. VMware虚拟机安装Windows 7
  13. aspCMS后台getshell
  14. GIS的地图图标制作
  15. windows主机和ubuntu互传文件的4种方法
  16. day2 标识符 字面值 变量 数据类型
  17. 死亡搁浅运送系统服务器,死亡搁浅车辆怎么解锁 死亡搁浅载具获取方法一览...
  18. 计算机科学与技术论文提纲,学分有关论文范例,与计算机科学与技术系相关毕业论文提纲范文...
  19. python-requests请求超时解决方案
  20. c语言刘备关羽张飞的编程题,《三国志·关羽传》阅读练习及答案(2018年湖北省武汉市中考)...

热门文章

  1. ARP攻击网络上不去,可以进行mac地址绑定
  2. 3.15 排列对称串
  3. == 和 is 的区别
  4. 深入浅出:HTTP/2
  5. [arm驱动]linux内核中断编程
  6. OpenStack nova-network 支持多vlan技术实现片段代码
  7. 详解华为与三星专利之争 律师称可能会打持久战
  8. Apple Swift编程语言新手教程
  9. MySQL命令行导出数据库
  10. 用户如何有效地利用数据字典(转)