Android NDK:JavaH无法找到Bitmap的签名

时间:2014-02-28 21:54:15

标签: android bitmap android-ndk javah

我的Android类中有一个原生方法:

public native void decode(Bitmap pTarget, byte[] pSource);

当我尝试使用Externla配置工具中的Eclipse Javah工具创建头文件时,我收到一条消息:

错误:无法确定位图的签名

如果删除本机方法声明,则不会发生这种情况。如何调试此问题以确保javah可以找到Bitmap的签名?

1 个答案:

答案 0 :(得分:3)

Bitmap类属于包“android.graphics.Bitmap”,因此其JNI类型为Landroid/graphics/Bitmap;

完整的方法签名应为:

void Java_yourPackage_yourClass_decode__Landroid_graphics_Bitmap_2_3B (JNIEnv *env, jobject thiz, jobject pTarget, jbyteArray pSource)

来源:http://docs.oracle.com/javase/6/docs/technotes/guides/jni/spec/design.html#wp615 http://docs.oracle.com/javase/6/docs/technotes/guides/jni/spec/types.html

编辑:javah工具无法识别Android类,因此必须将classpath选项添加到javah命令。试着看看这个:https://stackoverflow.com/a/7635758/3370382