win7下debug native 环境搭建

Win7下Debug native操作

环境配置:

         1,Eclipse : Indigo 3.7

         2,ADT : r22.0.1

         3,ndk : r9

         4,安装Cygwin与配置ndk:

               Cygwin为在windows平台上运行的类UNIX模拟环境,安装可以参考网上教程及配置ndk“环境变量”;

         5,CDT :

                 先查看一下已下载的eclipse是否包括cdt.插件,工具栏Help—>About Eclipse:如图

                

                  若没有可以进行在线安装,点击 Help->Install New Software…弹出的窗口中的Work With中添加http://download.eclipse.org/tools/cdt/releases/indigo,按回车,接      下 来的安装过程和上文中安装中文包的是一样的,我相信你很容易就能明白的。如果你的Eclipse版本不是3.7,而是别的版本的,那么请上http://www.eclipse.org/cdt/downloads.php,查询对应的CDT版本,复制相应的p2 software repository到Work With窗口中,安装完成后重启eclipse,无需任何动作,你就能编译C++的程序了.

      6, sequoyah插件:

               Sequoyah插件用于设置Android工程对Native开发的支持. 点击Help->Install New Software… 弹出的窗口中的Work With中添加:如图

              

                 在安装界面不要勾选“Group items by category”复选框,默认是勾选的,出现了列表为空(There are no categorized items)的情况

                

        

         上面jni编译环境步骤比较多,大家可以从网络查看有详细的教程;

Eclipse 编译:

可以使用ndk提供的samples,使用的eclipse的工具栏Import… 进行工程导入;导入的工程为hello-jni,工程目录如下;


注意: AndroidManifest.xml 设置属性 android:debuggable="true" ,


把当前工程转换为c/c++工程有两种方式:

1,  右击工程,弹出工具栏选择Android Tools—>Add Natvie Support…


会自动跳转到c/c++视图,工程目录如下:


2,把工程转换为c工程的,右击工程弹出工具栏New—>Other—>


进行配置转换;

配置工程Properties

工程点击c/c++文件,会提示错误需要引入.h文件,右击工程Properties,显示下面截图,Add添加.h文件




出现的问题:AndroidNDK: WARNING: There are no modules to build in this project!  

修改:Android.mk文件需要去掉#

LOCAL_PATH := $(callmy-dir)

include$(CLEAR_VARS)

LOCAL_MODULE    := hello-jni

LOCAL_SRC_FILES := hello-jni.c

include$(BUILD_SHARED_LIBRARY)

 

右击工程Build Configuations—>Build All,编译生成.so文件,可以在Console看到编译成功。

 

调试

进行java debug

在调用native方法请打上断点,先进行java  debug运行工程,右击工程弹出工具栏Debug As—>Android Application,


在cygwin 运行gdb,生成调试文件

1,  使用cygwin进入当前工程目录下,然后运行ndk目录下的ndk-gdb,生成用于调试的gdb文件,


Refresh工程看到对应的cpu类型下生成的文件app_process,gdb.setup

运行c/c++ dubug

 配置c/c++ debug, 右击工程Debug As—>Debug Configurations,

选择C/C++ Aplication, Main标签内C/C++ Application填写设备下对应的app_process,文件,点击下面的 Select other…,

 


 

点击Debugger标签,

Main标签

GDB debugger :

ndk\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gdb.exe;

GDB command file: 为工程下\hello-jni\obj\local\armeabi-v7a\gdb2.setup;

gdb2.setup文件的生成是复制gdb.setup文件并修改文件名,需要去掉文件里面

target remote :5039,进行保存

Connection标签

设置type,及port number,

 

配置完成点击Debug; eclipse会跳转到debug视图;然后进可以调试了


 

debug 期间Cygwin会的显示;

 

 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章