android 网络调试 源代码,Android源代码调试环境搭建

我们在调试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版本,整个源代码比较大,具体的目录结构如下:

89032144f938ed6e67dcc87a2a2447f3.png

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

14c2b1d945d6f5137211b00330332721.png

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

eba7565e7cfc3ad0b6821de600b04043.png

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

ef130888072287f22920010e2e0c6cc5.png

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

bdc4f85202ca2dbaad8693271a65dcbb.png

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

de864b50a8e6280f7a9f8f29c5fa1cb7.png

在HelloWord的MainActivity设置一个断点

1f1e2b5e99b321e5b2a1e01342da36f4.png

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

7481047dc83e49d6e24b8141fe640f29.png

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

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

73cb2fa83807b085312189f1eab376b0.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值