2016-09-01 3 views
0

Когда я генерации файла заголовка с JNI с помощью 'javah' он показываетОшибка: Класс org.opencv.core.Mat не может быть найден

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

системы: Mac OSX

Использование: Android Studio и OpenCV 3.1 для андроид

Commandline:

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

Кто может мне помочь?

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

ответ

1

Вы даете путь неправильный класс здесь:

com.lumenghz.test.OpencvHelper

Дайте полный путь к классу так:

~/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 
+0

Спасибо за ваш ответ, он работает :-) И команда, которую я написал, также работает. –

0

решаемые

я должен объявить путь к классам OpenCV-SDK -android, который был построен.

Так CommandLine должно быть так:

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