您的位置:首页 > 其它

win7下debug native 环境搭建

2015-08-04 11:47 267 查看
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会的显示;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: