一:在windows环境下
windows 7 + cygwin + eclipse + cdt + ndk
1、首先设置环境变量cygwin的bin目录和ndk的根目录。
2、在cygwin中编译ndk
在项目的目录下使用$NDK/ndk-build(最好加参数 NDK_DEBUG=1).
得到:libs/armeabi目录下的三个文件gdb.setup\gdbserver\libhello-jni.so
3、修改ndk-gdb
删除文件的最后一行,保存
执行$NDK/ndk-gdb,不会输出任何内容
得到:app_process文件
4、修改gdb.setup
把gdb.setup复制一份为gdb2.setup
修改gdb2.setup,删除gdb2.setup的最后一行。
5、把eclipse中的项目转化为c++项目,设置Debug configuration:
新建一个C/C++ Application
在main选项卡中
主要是C/C++ Application:选中生成的app_process.其他略。
在Debugger选项卡中
主要Debugger选中gdbserver
GDB debugger:arm-linux-androideabi-gdb
GDB command file:选中修改的gdb2.setup。其他略。
6、eclipse下的ndk编译环境设置
为项目新建一个builder
ok。
7、调试
项目中加断点,以debug as 的方式执行项目,当进入debug的时候在cygwin命令行中执行$NDK/ndk-gdb,没有内容输出。
这时启动配置的C/C++ DEBUG.
这个地方会报错
主要是这个use default build command这的问题
当修改为 bash $NDK/ndk-build时 还是不行。
这个应该是和cygwin关联时的问题没解决了。
没办法了只能换linux环境了。
二:在linux环境下
vmware + ubuntu + eclipse + cdt + ndk
基本设置是一样的,只是没有设置ndk的编译环境,默认cdtbuilder。
不过在转换的时候在.c文件中要加入main函数。
在build ndk时要加参数$NDK/ndk-build NDK_DEBUG=1;
ok,可行。