如何使用eclipse和emulator debug Android source code(JNI以上部分)

2 篇文章 0 订阅
2 篇文章 0 订阅
这个文档主要说明了如何debug我们的 JNI以上的 java code部分,包括App Framework以及Application部分。

1.首先建立 Android的编译环境,并且将android的 source code repo下来。然后对源码进行make。安装 eclipse以及eclipse的android plus-in。具体安装方法在这里就不多说了。

2.将out/target/product/generic目录下的system.img,userdata.img,ramdisk.img拷贝到目 前eclipse使用的SDK目录下的tools/lib/images下,SDK中的这三个img,最好做一个备份。

3.eclipse需要一个目录以保证它能够找到路径下面的java文件,就是所谓的“java build path”,在android的source code已经给我们准备了一个叫“.classpath”的 文件,我们可以直接利用这个文件,也可以对这个文件进行相应的修改。这个文件在source code的位置为:development/ide/eclipse/.classpath。将这个文件cp到android sorce code的根目录下。拷贝后,需要对.classpath文件的属性进行修改,以保证这个文件的可以修改。chmod u+w .classpath

4.Android Project比较大,Eclipse的java Vm在编译的时候可能会有内存不够的情况,我们需要编辑elipse.ini文件,这个ini文件就在eclipse文件夹下,将其修改为:
        -Xms128m
        -Xmx512m
第一个表示eclipse最小的java栈是128m,第二个表示eclipse的最大栈是512m
   
5.如何根据源代码建立android source code的工程。打开eclipse
(1)File->New->Java Project,注意这个与Android的Application的建立是不一样的,这个不是一个Android Project而是建立的Java Project
(2)随便选择一个工程名,这里我们取名叫Android
(3)然后选择“Create project from existing source”,然后Android source code的目录,完成。]
(4)然后就是等待工程的建立,这个需要一会,工程比较多,这个工程的建立就是根据我们.classpath中的内容完成的。
代码导入后,没有error,但是有很多的warning,但是这个不影响我们debug。

关于.classpath的说明:这里我们演示的是如何用eclipse debug源代码中的一个Helloworld的 应用,在.classpath中我们相应的添加上<classpathentry kind="src" path="packages/apps/Helloworld/src"/>这样在工程生成的时候,我们就可以在eclipse的java code部分看到我们在source code里面添加的这个Helloworld的应用了。其他的添加也是相同的方法。


6.如何debug,在SDK的tools下启动./emulator,这个时候 emulator启动运行的加载的就是我们通过source code编译出来的img。然后启动./ddms,ddms默认使用的是端口8700。ddms启动起来就可以看到emulator中的活动等消息。
Eclipse关于debug的一些 设置,Run->Debug Configurations->Remote Java Application,鼠标右键->随意选择一个名字,设置Project为你目前的 Project,Standard,localhost,8700->Debug。如下图所示:
tu1.png

7.如何debug,这里我们需要debug的是实验的小程序Helloworld,在eclipse里面给在需要的地方加上断点,如图所示:
tu2.png


断点添加好以后,在ddms里面选中我们需要debug的进程,如图所示:
tu3.png

然后运行emulator中的Helloworld的应用,这样我可以在eclipse里面进行我们的debug工作了。如下图所示:
tu4.png

这样我们就可以基于我们的源代码,使用eclipse debug我们JNI上面的代码了。

补充1:
如果代码repo sync过,我们这样作:
(1).Window > Show View > Navigator
(2).在project名字上右键
(3).refresh,然后新添加删除的东西就会在eclipse的工程进行了一个同步。 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值