Eclipse ADT - 未解析的包含jni.h

Pet*_*ter 7 eclipse android android-ndk

在我的Windows平台上,我安装了最新版本的adt bundle(20140321)和ndk(r9d).安装尽可能干净.环境变量NDK_ROOT,PATH等都已正确定义.

我正在处理的应用程序有一些C++本机代码.代码在Eclipse之外以及Eclipse内构建都很好.

然而,问题在于编辑抱怨jni.h是一个未解决的问题.

项目 - >属性 - > C/C++常规 - > PathsAndSymbols显示包含目录,其中一个目录是C:\ adt \ndk\platforms\android-19\arch-arm\usr\include.我已经验证了jni.h存在于此目录中.

我已经检查了这个论坛上的所有其他消息,但找不到任何具体步骤.感谢您的指导.问候.

ble*_*ter 25

在更新到Eclipse Kepler之后,我遇到了与基于Android NDK的代码的工作项目类似的问题.我观察到类似的事情:头文件将在项目中的"includes"下正确列出,实际构建(通过ndk-build)工作正常,但Eclipse的编辑器无法在标准系统目录中找到任何头文件(所有头文件都带有< >括号).

我尝试了许多不同的修复,包括切换工具集,重建索引等,但没有成功.

最后,我完全从项目中删除了C属性,并通过Eclipse中的"Android Tools"菜单将其添加回来.

删除C性质:

我可以找到从项目中可靠地删除C性质的唯一方法是手动编辑项目的Eclipse .project文件.

  1. 关闭Eclipse项目(例如,退出Eclipse).

  2. .project在文本或xml编辑器中打开文件.将至少<buildCommand>需要删除2个节点.删除<buildCommand>名称org.eclipse.cdt.managedbuilder.core.genmakebuilder及其所有子<buildCommand>节点以及具有名称org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder及其子节点的节点.最后,删除行:

    <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>

  3. 完全删除该.cproject文件.

添加回Android Native的性质

在Eclipse中重新打开项目.然后在Project Explorer中右键单击该项目,并从"Android Tools"上下文菜单中选择"Add Native Support ...".

Android工具 - >添加原生支持...

查看在此更改之前和之后在.project和.cproject文件中所做的更改,它似乎主要为Android NDK工具提供了新版本号.无论如何,它为我解决了这个问题.


Pau*_*mon 1

几天前我也遇到了同样的问题。我在 stackoverflow 的另一个问题中找到了修复,但现在找不到链接。

在 Eclipse 中:右键单击您的项目 > 属性 > C/C++ 常规 > 代码分析 > 启动并禁用这两个选项(“通过构建运行”和“键入时运行”)。

CDT 和索引器似乎有问题,这样做可以隐藏问题。编辑器仍然会抱怨,但现在您应该能够运行和调试您的应用程序。