我正在使用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);

关于android - 从包含Java类的Java类创建C头文件时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9545338/

10-11 16:53