我在上一个Android的应用程序在那里我有一个包含一个Java类android.graphics.Bitmap包错误创建C头文件的Android方含类
我想用JAVAH但得到创建一个头文件工作一个错误:
Class android.graphics.Bitmap not found
我在上一个Android的应用程序在那里我有一个包含一个Java类android.graphics.Bitmap包错误创建C头文件的Android方含类
我想用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);
是啊...其实我正尝试使用muPdf创建自己的PdfViewer library..So在我们加载本地库的java类“muPdf”中,我们有android.graphics.Bitmap,并且必须为java类创建“.h”文件 – dave21 2012-03-05 04:33:45
究竟是你想做些什么? C/C++不知道关于java包的任何信息。 – sschrass 2012-03-03 11:10:09
当我们真的在Android-nDK上工作时,我们的java类需要转换成一个头文件,我们可以把它放在我们的jni文件夹中.....希望你知道所有的数据。真正的问题是我们可以从一个java类创建一个头文件,但是如果我们把android程序包放到dat java类中......它会产生一个问题 – dave21 2012-03-03 11:28:32
否。头文件是C++,java包是java。你的java类需要通过jni调用C/C++方法。这就是jni的用途。那么,为什么你想把你的java类放在C++头文件中呢? – sschrass 2012-03-03 15:05:22