我正在开发一个 android 应用程序,其中我有一个包含 android.graphics.Bitmap 包的 Java 类
我想使用 javah 创建一个头文件,但出现错误:
Class android.graphics.Bitmap not found
我认为您正在尝试开发一个 openCV 应用程序。
所以你基本上想从 openCV 库中调用方法,这些方法还没有在 java 中实现,但可以作为原生 C 或 C++ 方法使用。尽量避免这种情况,因为 jni 调用很昂贵。
#include <jni.h>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/features2d/features2d.hpp>
#include <vector>
using namespace std;
using namespace cv;
extern "C" {
JNIEXPORT void JNICALL Java_[your]_[package]_[com]_[class]_[method](JNIEnv* env, jobject thiz, jlong addrGray, jlong addrRgba)
{
//do stuff
}
您现在可以从您的 java 类中调用此方法:
public native void method(long matAddrGr, long matAddrRgba);