2012-03-03 75 views
2

我在上一个Android的应用程序在那里我有一个包含一个Java类android.graphics.Bitmap包错误创建C头文件的Android方含类

我想用JAVAH但得到创建一个头文件工作一个错误:

Class android.graphics.Bitmap not found 
+0

究竟是你想做些什么? C/C++不知道关于java包的任何信息。 – sschrass 2012-03-03 11:10:09

+0

当我们真的在Android-nDK上工作时,我们的java类需要转换成一个头文件,我们可以把它放在我们的jni文件夹中.....希望你知道所有的数据。真正的问题是我们可以从一个java类创建一个头文件,但是如果我们把android程序包放到dat java类中......它会产生一个问题 – dave21 2012-03-03 11:28:32

+0

否。头文件是C++,java包是java。你的java类需要通过jni调用C/C++方法。这就是jni的用途。那么,为什么你想把你的java类放在C++头文件中呢? – sschrass 2012-03-03 15:05:22

回答

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); 
+0

是啊...其实我正尝试使用muPdf创建自己的PdfViewer library..So在我们加载本地库的java类“muPdf”中,我们有android.graphics.Bitmap,并且必须为java类创建“.h”文件 – dave21 2012-03-05 04:33:45