DS-5 调试工具给广大Android程序开发者提供了免费的CE社区版,以供大家方便的开发和调试安卓Native的程序。
由于Native程序的运行速度比java程序快,越来越多的程序员都已经开始选通过Native C的library和JNI的结合的方式来开发程序,Android的SDK给用户提供了良好的Java调试环境。而通过使用DS-5,可以让用户在保留SDK的同时获得一个优秀的C/C++调试环境。
这篇文章给大家介绍如何搭建Android程序调试环境,和其中要注意的问题。
这里我们以Google提供的ADT Eclipse集成开发环境为例。DS-5的CE版本可以作为Eclipse插件的形式安装在用户已有的Eclipse环境中,而不会影响用户现有的工程项目。
当用户开打Android ADT的Eclipse开发界面,从帮助菜单中选择Install New Software (安装新程序)
在地址栏中输入 “http://tools.arm.com/eclipse”, 点击 add(添加),主选框中就会出现DS-5 Community Edition的选项。点击next和finish以开始DS-5的安装。
当DS-5安装完成之后,Eclipse会提示用户重新启动Eclipse,点击确定。Eclipse重新启动后会弹出License的提示对话框。如果用户有DS-5专业版的license,则可以使用专业版的。如用户没有任何license,则可使用免费版的社区版license。
首先要确保google提供的adb工具在系统PATH中,很多时候DS-5 CE无法正常工作是 因为adb工具并没有在系统PATH变量中。
用户可以通过打开cmd/terminal 窗口,键入 adb 命令来检查adb是否在PATH环境变量中。
其次要确保在Eclipse系统设置选项-->Android 中的SDK 路径和NDK 路径都已经设置完成。否则android程序app无法正常编译。
另外如果要想编译后自动生成.apk 文件包,请除去 Eclipse系统设置选项-->Android --> Build --> skip packaging and dexing until export or launch的选项。
下面我们来导入一个示例程序,这里我们选择Android NDK工具中的bitmap-plasma程序。这个程序在Android NDK工具包的sample文件夹中。
由于这个程序是Native C的程序,java通过JNI的接口,调用C编写的的库,以达到给程序加速的目的。
导入程序后我们需要给工程项目添加JNI的支持:右键点击工程项目,选择Android Tools-->Add Native Support.
添加好工程的支持后,我就可以选择build这个工程。工程编译成功后 我们可以在工程的libs文件夹中看到gdbserver和libplasma.so的文件,这些文件是调试程序必须的。
在工程的bin文件夹中可以看到plasma.apk 已经生成,这就证明这个项目已经可以被下载到手机或模拟器中运行了。运行的图如下图所示:
打开DS-5的Debug Configuration:点击工具栏中debug的菜单箭头,选择Debug Configurations
Debug Configurations页面打开后,新建一个DS-5 Debugger的连接。
在目标选项中可以选择Android-->Generic-->APK native library debug --> Download and debug an Android application.
在连接选项中会出现一个下拉菜单,以显示可供连接的设备。如果下拉菜单中没有显示设备,很可能是由于adb并没有在系统的环境变量的PATH中。 设备可以是一个手机硬件设备(要求已连接电脑,并在手机设置中允许USBdebug,4.0以上要求接受手机安全验证)或是一个模拟器(要求模拟器正在运行中)
另外可以选择是否使用root用户,和debug的端口,默认5000
在文件选项卡中之需要选在工程项目即可,DS-5会自动填写剩下的内用,包括APK的位置,及要debug的process和activity。已经自动添加要加载的symbol文件。
在Debugger选项卡中选择connect only。
点击Debug,这之后经过DS-5自动下载APK安装包到手机上,自动开始运行程序,自动连接到程序上,就可以开始调试工作了,