2012-03-03 18 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