1 用常规方法建立或导入java工程。
2 在工程所在目录下建立jni目录,所有的c++代码和mk文件都放在这个目录下。
3 从sample目录里拷贝Android.mk和Application.mk到jni目录下并修改相应内容。
4 如果包含多个c++模块,那么修改Application.mk的APP_MODULES字段,例:
5 如果要使用c++库函数,在Application.mk里加上
5把java工程改成c++混合工程:file->new->other->c/c++->convertto a c/c++ project
6
7 build工程,顺利编译出所有模块。
8 新建一个调试配置:
c/c++ application为当前工程目录的obj\local\armeabi\app_process。然后点击Selectother...
继续修改属性:
debugger:F:\android-ndk-r5b\toolchains\arm-eabi-4.4.0\prebuilt\windows\bin\arm-eabi-gdb.exe
file: F:\tj\at_utils\build\android\obj\local\armeabi\gdb.setup
9进入ndk目录,把ndk-gdb文件复制成ndk-gdb2。打开ndk-gdb2,屏蔽掉最后第1和最后第5句话,屏蔽的方法是句子最前面加#:
#echo "target remote :$DEBUG_PORT" >>$GDBSETUP
if [ -n "$OPTION_EXEC" ] ; then
fi
#$GDBCLIENT -x `native_path $GDBSETUP`
10 在工程的obj\local\armeabi目录下建立一个叫dbg.bat的文件,文件内容为:
set ANDROID_NDK_ROOT=/cygdrive/f/android-ndk-r5b
bash %NDK_ROOT%/ndk-gdb2
(图是r5b版本的,不需要第一句,r5c版需要定义ANDROID_NDK_ROOT)
调试步骤为:
1 启动java程序
2启动后双击dbg.bat,这个时候会弹出一个小dos窗口,不要关闭这个窗口,里面是gdbserver。当用户结束调试后这个窗口会自动关闭。
3 再次点击调试按钮下旁边的小三角形按钮,选择调试配置,找到刚才的c++ aplication,点击debug。(见过程8)
这个时候就可以同时调试java和c++代码了。不过调试c++代码性能非常差,速度不是一般的慢。
