Error: Class org.opencv.core.Mat could not be found

Error: Class org.opencv.core.Mat could not be found

当我使用 'javah' 使用 JNI 生成头文件时,它显示

Error: Class org.opencv.core.Mat could not be found.

系统:MacOSX

使用:Android Studio 和 opencv 3.1 for android

命令行:

javah -classpath /Users/lumeng/Library/Android/sdk/platforms/android-23/android.jar:. com.lumenghz.test.OpencvHelper

谁能帮帮我?

编辑-1 我也试过了

javah -d ~/Documents/androidworkspace/RumenTest/test/src/main/jni -classpath /Users/lumeng/Library/Android/sdk/platforms/android-23/android.jar:. com.lumenghz.test.OpencvHelper

但仍然出现同样的错误:

Error: Class org.opencv.core.Mat could not be found.

已解决

我应该声明已构建的 opencv-sdk-android 的类路径。

所以命令行应该是这样的:

javah -classpath ~/Documents/androidworkspace/RumenTest/openCVLibrary310/build/intermediates/classes/debug:. com.lumenghz.test.OpencvHelper

你在这里给出了错误的 class 路径:

com.lumenghz.test.OpencvHelper

像这样给出完整的 class 路径:

~/Documents/androidworkspace/RumenTest/openCVLibrary310/build/intermediates/classes/debug:. com.lumenghz.test.OpencvHelper

  javah -d (JNI Folder Location) -classpath (JAR Locaion);(class Path)

根据您的路径示例-

 javah -d ~/Documents/androidworkspace/RumenTest/test/src/main/jni -classpath /Users/lumeng/Library/Android/sdk/platforms/android-23/android.jar;~/Documents/androidworkspace/RumenTest/openCVLibrary310/build/intermediates/classes/debug: com.lumenghz.test.OpencvHelper