新网创想网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

使用eclipse配合真机来调试android源码-创新互联

 目前网上已经有很多文章来描述如何使用eclipse来调试android源码,但是大多数都是最后基于 android虚拟机来完成最后的一次华丽转身,即享受最后调试的劳动果实,然后,然后就得忍受android虚拟机的各种缓慢,以及对esopengl库不支持导致的bug,问题,估计很多同学也就是调试通过一次就不愿意再用了。

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信平台小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了拉萨免费建站欢迎大家使用!

   下面,本文介绍一种使用eclipse调试源码的方法,但是是在真机上面进行调试,速度和真实的模拟性可不是android虚拟机可比较的。

一 前置条件
1 三星 nexue one 手机一部
2 笔者用的是cm-ics 也就是android 4.0 的代码
3 操作系统 ubuntu 13.04

二 编译过程

1 首先需要将cm-ics源码编译完成,升成可是刷入到nexue one手机中的
 rom包,并且使用完美刷机等软件刷入到nexue one手机中,能够正常开机使用。
 关于这个过程,需要看我以前的如何编译 cm代码的博文,里面有详细的介绍
 最后的升成文件如下图

使用eclipse配合真机来调试android源码

2 进入源码目录下的development/ide/eclipse,将.classpath 文件拷贝到
 源码目录,然后再新建一个 .project 文件,文件内容如下

  
  
    CMIcs
    CMIcs Source
    
    
    
        
            org.eclipse.jdt.core.javabuilder
            
            
        
    
    
        org.eclipse.jdt.core.javanature
    
   

3 新建Java Project(不是android project,否则会破坏android源码),
  选择从已存在的工程导入,工程名任意,完成。导入时,eclipse要build工程,
  比较慢。

  这一步一般都会有错误,总结一下,主要有一下几种
  1 源代码里面缺少必要的代码库文件 如图2

  使用eclipse配合真机来调试android源码

    表示缺少相应的源码库,直接报错不编译,
    解决方法:在.classpath 文件中去掉该目录即可

  2 编译过程中出错
    编译过程中出错多以包名,找不到或者少编译一些文件,如图3

使用eclipse配合真机来调试android源码

    解决方法:主要到指定目录 mm编译升成缺少的依赖包以后,然后
              再将目录添加到 .classpath 中去
    比如这个是我在解决编译错误的时候,加入的源码或者lib的目录文件
   
   
   

三 调试过程

  通过前面的编译过程,最后编译完成以后就需要进行接收劳动成功,进行调试了。这里
跟网络上大多数文章不同的地方是用真机调试。连接上烧入同样版本的nexue one手机后,
进入 /adt-bundle-linux-x86_64-20131030/sdk/tools/ 这个目录

  使用 ./monitor 命令
  出现界面如图4

使用eclipse配合真机来调试android源码

  这里选中的是 com.android.calendar 就是日历的这个进程

  打开eclipse,这里要在打开 monitor后,然后进行配置
步骤如下:
选择你的工程,右键打开菜单选择 Debug AS—Debug configuration 弹出窗口,选择Remote JAVA Application,右键在菜单选择NEW,弹出下面的视图,修改Port为8700

设置完成后如下图5

使用eclipse配合真机来调试android源码

然后点击debug,成功以后出现如图6

使用eclipse配合真机来调试android源码

比之图五,多了一个debug 爬虫的图标,表示已经连接成功了

在应用中找到 日历这个apk点击打开,发现设置的 setContentView断点已经停止了

如下图

使用eclipse配合真机来调试android源码

注意:有时候在远程调试的时候连接会出现错误

Failed to connect to remote VM

笔者的解决方法是

在Preference->General->NetWork Connection->把Active Provider里面的选项,选择为Direct.

解决该问题,仅做参考。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享文章:使用eclipse配合真机来调试android源码-创新互联
分享路径:http://wjwzjz.com/article/diojph.html
在线咨询
服务热线
服务热线:028-86922220
TOP