一尘不染

无法解析类型'jint',并且JNIEnv,jclass

java

尝试使用jni c代码构建一个简单的helloWorld android / java应用程序。我在Windows 7上使用Eclipse
Indigo。在非空间路径中安装了ndk r8,最终使ndk-build.cmd的c库得以正常构建。但是,javah生成的头文件具有未解决的错误,

  • 类型“ jint”无法解析
  • 类型“ JNIEnv”无法解析
  • 无法解析类型“ jclass”

昨天没有看到jni.h包含,但是今天早上重新启动后,该错误消失了。我也有一个未解决的JNIEXPORT和JNICALL错误,但是#defining他们似乎已经解决了。卡在上面的最后3个。搜索了谷歌和堆栈溢出的答案,但一旦有人找到解决方案,他们就不说那个解决方案是什么:(

我已经在项目属性中检查了Java和c / c
++透视图中的include。它似乎包括我想要的jni.h目录,我将android-14用于arm平台。目标是4.0.3 IceCream
Sanwich(令人困惑的API 15
?!)。我打算尝试使用AVD对此进行测试。我尝试关闭/重新打开该项目,从Eclipse中删除并重新导入,但是这些都没有用。

我是否缺少某些物品?我应该在哪些位置设置它们?非常感谢您的帮助。


阅读 218

收藏
2020-12-03

共1个答案

一尘不染

最近,我遇到了同样的问题。就我而言,问题是我将Eclipse项目转换为C
++项目,但是我使用了C类型。因此,要解决这个问题,我只是删除线<nature>org.eclipse.cdt.core.ccnature</nature>.project从项目目录文件:

<natures>
 <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
 <nature>org.eclipse.jdt.core.javanature</nature>
 <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>
 <nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature>
</natures>

然后重新启动Eclipse。有关更多信息,请阅读此内容

2020-12-03