最近在学习ndk时遇到了各种奇怪的问题,比如找不到jni.h,使用eclipse调试ndk时gdbserver报找不到目标so文件等奇怪的问题,经过一番痛苦的资料查找与试验之后,将这些问题的解决办法进行汇总保存,以便日后查阅
eclipse编辑ndk问题汇总
目录
一、使用eclipse调试ndk
1、新建android项目
2、在packageexplorer视图中右击工程,选择android_tools->addnative support
3、编写c++代码,并在代码编辑器中添加断点
4、修改jni->application.mk文件,只指定一个指令集类型(debug时不可指定多个指令集,否则启动gdbserver时会因找不到生成的so文件导致调试失败,release时可指定多个),eg:APP_ABI:= armeabi-v7a
5、修改application.mk文件,指定开启调试功能APP_OPTIM:= debug
6、修改application.mk文件,指定APP_PLATFORM:= android-8
7、在packageexplorer视图中右击项目,选择属性(properties)并打开c/c++ Builder选项卡,在buildersetting子选项卡中参照以下设置
8、在debugconfiguration中,新建AndroidNative Application,并在新建的调试条目中的Debugger选项卡中的GDBCommand File中选择Browse,选择工程目录--》libs--》目标指令及--》gdb.setup文件。
9、切换到c/c++视图,即可对c++代码进行调试,goodluck。
二、eclipse编辑c++代码时找不到jni.h
在projectexplorer视图中右击项目,选择new-->floder,在NewFloder选项卡中展开Advanced隐藏选项,新建一个链接文件夹(类似软引用),将目标目录指向jdk安装目录下的include文件夹即可,只有clean并build一下项目。若在项目中找到其他头文件的include,也可以参照此方法解决。