Eclipse 编译 jni 工程相关问题

1、Build 提示 JNIEnv could not be resolved,可能是由于 jni.h 头文件没有被找到,也就是说工程的 include 路径设置不全,因此要加上 include 路径。

在 Project Properties -> C/C++ General -> Path and Symbols 中的 include 标签,添加对应 API 版本的路径,例如:

/home/android-ndk-r13b/platforms/android-23/arch-arm64/usr/include

最好选一下 all languages,不用每种语言都添加一次。

2、Build 提示 ’NewStringUTF‘ could not be resolved

参考:http://blog.csdn.net/brokge/article/details/39929525

3、Build 提示 ’android‘ could not be resolved

没有导入 android 的 API 包,在 Project Properties -> Android 中选中 Build target

4、Build 提示 R cannot be resolved to a variable

可能是你工程设置的 Target sdk version 和你自己的 sdk version 不匹配,检查 AndroidManifest.xml 中的配置,一般就可以解决问题。

5、Build 提示 NULL、UINT32等一些类型找不到,这时候就要看下是不是包含了头文件和lib 库的路径。

/home/android-ndk-r13b/platforms/android-23/arch-arm64/usr/lib

6、出现 the file dx.jar was not loaded from the SDK folder! 的问题

这个问题搞了一会,应该是 Tools 的版本问题,最后这样解决的:

关闭 eclipse,然后将SDK安装目录下 build_tools/26.0.0 文件夹备份后移走,接着用 sdk 安装目录下的 sdk manager 安装 25.0.3 版本的 build_tools,再重新打开 eclipse。

7、工程编译好之后,run 的时候出现 Dx unsupported class file version 52.0

据说是 JDK 版本的问题,换成 1.6 版本,在 Windows -> Preferences -> Java -> complier 和 Installed JRE 中分别选中 1.6 版本。

重新编译之后所有问题解决,fastcv samples 可以正常在 SAMSUNG S7 上面跑起来。

你可能感兴趣的:(Eclipse 编译 jni 工程相关问题)