使用JNI调用C++编译而成的动态链接库文件的时候,出现了“Unresolved inclusion jni.h”问题
对于这种问题主要有两种解决办法:
第一种解决方法:添加包含的C++库文件
也是最常用的方法,就是为工程添加库文件,位于你的ndk解压目录下。步骤如下:
- 右击工程->New->Folder
- 对话框中点击Advanced
- 选择Link to alternate location (Linked Folder),选择需要的include目录
- Finish后刷新工程,问题解决。
include 目录可以在ndk的安装目录中找到
例如:/android-ndk-r9b/platforms/android-18/arch-arm/usr/include
第二种解决方法:修改配置文件
如果上述的添加包含文件并不能解决问题,可以考虑使用如下的修改配置文件的方法
解决步骤如下:
在eclipse中关闭指定Project
用其他编辑工具打开该project的.project文件,删除以下内容:
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
删除.cproject文件
在eclipse里打开原来的project, refresh,然后右键->properties->Android Tools -> Add Native Support
对于这种环境配置问题,每次的实际情况个不相同,总有一种方法是有效的