使用NDK过程中出现“Unresolved inclusion jni.h”

使用JNI调用C++编译而成的动态链接库文件的时候,出现了“Unresolved inclusion jni.h”问题
对于这种问题主要有两种解决办法:

第一种解决方法:添加包含的C++库文件

也是最常用的方法,就是为工程添加库文件,位于你的ndk解压目录下。步骤如下:

  1. 右击工程->New->Folder
  2. 对话框中点击Advanced
  3. 选择Link to alternate location (Linked Folder),选择需要的include目录
  4. 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

对于这种环境配置问题,每次的实际情况个不相同,总有一种方法是有效的

你可能感兴趣的:(android,jni,NDK)