Android, сгенерируйте jni заголовочные файлы с помощью javah, покажите ошибку, которая не может найти org.opencv.core.Mat

У меня просто есть раздражающая проблема с JNI, когда я компилирую нативный метод в классе Java сjavah генерировать файлы заголовков JNI.

Если класс использовал сторонний пакет, например: org.opencv.core.Mat, тоjavah покажет ошибку, которая можетнайти класс org.opencv.core.Mat.

Пример кода OpenCV, как показано ниже:

package org.opencv.samples.fd;

import org.opencv.core.Mat;
import org.opencv.core.MatOfRect;

public class DetectionBasedTracker
{
public DetectionBasedTracker(String cascadeName, int minFaceSize) {
    mNativeObj = nativeCreateObject(cascadeName, minFaceSize);
}

public void start() {
    nativeStart(mNativeObj);
}

public void stop() {
    nativeStop(mNativeObj);
}

public void setMinFaceSize(int size) {
    nativeSetFaceSize(mNativeObj, size);
}

public void detect(Mat imageGray, MatOfRect faces) {
    nativeDetect(mNativeObj, imageGray.getNativeObjAddr(), faces.getNativeObjAddr());
}

public void release() {
    nativeDestroyObject(mNativeObj);
    mNativeObj = 0;
}

private long mNativeObj = 0;

private static native long nativeCreateObject(String cascadeName, int minFaceSize);
private static native void nativeDestroyObject(long thiz);
private static native void nativeStart(long thiz);
private static native void nativeStop(long thiz);
private static native void nativeSetFaceSize(long thiz, int size);
private static native void nativeDetect(long thiz, long inputImage, long faces);
}

Сначала я использовал команду

javah -classpath bin/classes -bootclasspath (the directory of android.jar) -d jni (packageName + ClassName) , shows the error "can't find the org.opencv.core.Mat

Затем я изменил команду

javah - classpath bin/classes - bootclasspath (the dir of android.jar) ; (the dir of the opencv lib jar)  -d jni ..." ", this time it shows error

исключение

Exception in thread "main" java.lang.IllegalArgumentException: Not a valid class
 name: E:\Computer_Language\Java\soft_android\OpenCV-2.4.3-rc-android-sdk\OpenCV
-2.4.3-rc-android-sdk\sdk\java\bin\opencv library - 2.4.3.jar
    at com.sun.tools.javac.api.JavacTool.getTask(JavacTool.java:177)
    at com.sun.tools.javac.api.JavacTool.getTask(JavacTool.java:68)
    at com.sun.tools.javah.JavahTask.run(JavahTask.java:509)
    at com.sun.tools.javah.JavahTask.run(JavahTask.java:335)
    at com.sun.tools.javah.Main.main(Main.java:46)

Я думаю, добавив каталог opencv lib в-bootclasspath это полезно и необходимо. Ошибка в том, что я только что добавил два пути в-bootclasspath или формат что то не так?

Действительно смущен. Пожалуйста, помогите, спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос