Eclipse ADT – 未解决的包含jni.h

在我的Windows平台上,我安装了最新版本的adt软件包(20140321)和ndk(r9d)。 安装就像干净一样。 环境variablesNDK_ROOT,PATH等都被正确定义。

我正在使用的应用程序有一些C ++本机代码。 这个代码在Eclipse之外和Eclipse之内都可以很好地构build。

但问题是,编辑抱怨jni.h是一个未解决的问题。

项目 – >属性 – > C / C ++常规 – > PathsAndSymbols显示include目录,其中一个目录是C:\ adt \ ndk \ platforms \ android-19 \ arch-arm \ usr \ include。 我已经validation了jni.h目录在这个目录下。

我已经检查了这个论坛上的所有其他消息,但没有find具体的步骤。 感谢您的指导。 问候。

Solutions Collecting From Web of "Eclipse ADT – 未解决的包含jni.h"

在更新到Eclipse Kepler之后,我遇到了一个与基于Android NDK的代码的工作项目类似的问题。 我观察到类似的东西:头文件将正确列在项目的“includes”下,实际的构build(通过ndk-build)工作正常,但是Eclipse的编辑器找不到标准系统目录中的任何头文件>括号)。

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

最后,我从项目中完全删除了C性质,并通过Eclipse中的“Android工具”菜单将其添加回来。

删除C性质:

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

  1. closuresEclipse项目(例如退出Eclipse)。

  2. 在文本或XML编辑器中打开.project文件。 至less会有2个<buildCommand>节点需要删除。 删除名为org.eclipse.cdt.managedbuilder.core.genmakebuilder及其所有子项的<buildCommand>节点,以及名为org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder及其子项的<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>

  3. 完全删除.cproject文件。

添加Android Native本质

在Eclipse中重新打开项目。 然后右键单击项目资源pipe理器中的项目,然后从“Android工具”上下文菜单中select“添加本机支持…”。

Android工具 - >添加本地支持...

查看在这个改变之前和之后在.project和.cproject文件中所做的修改,看起来主要是给了Android NDK工具新的版本号。 无论如何,它解决了我的问题。

添加本地支持后,右键单击工程,在c / c ++中添加包含通用 – >path和符号>>包含,例如添加包含为%NDK_HOME%\ platforms \ android-19 \ arch-arm \ usr \ include

前几天我也有同样的问题。 我在这里find了另一个问题的修复程序,但现在我找不到链接。

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

CDT和Indexer似乎存在问题,这样做可以隐藏问题。 编辑器仍然会抱怨,但现在你应该可以运行和debugging你的应用程序。

我解决了这个adt-bundle-windows-x86_64-20140321:

  1. 没有设置任何环境variables,只需在首选项> Android> NDK下指定NDK位置即可。
  2. 我创build了新的,干净的Eclipse工作区。
  3. 从我的项目中删除C + +代码下一个文件/文件夹:

.settings
的.classpath
.cproject
。项目
project.properties

  1. Eclipse>新build>其他> Android>从现有代码的Android项目>然后指向您的项目的文件夹,让Eclipse检测到,检查“复制项目到工作区”,然后单击确定/下一步,无论。
  2. 清洁项目。
  3. 右键单击项目> Android工具>添加本机支持
  4. 重build,可能重新启动工作区。

另外这个Eclipse 4.3解决的问题以前忽略了构build系统和用户定义的编译器标志。 现在macros折叠依赖于此标志等工作正常。

如果更通用的 – NDK插件可以正确定义你的权利包括和其他任何要求正常工作,但你需要从废话废话清理你的项目。