2

我正在开发一个 android 应用程序,其中我有一个包含 android.graphics.Bitmap 包的 Java 类

我想使用 javah 创建一个头文件,但出现错误:

Class android.graphics.Bitmap not found
4

1 回答 1

0

我认为您正在尝试开发一个 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);
于 2012-03-03T15:22:47.810 回答