Android的NDK:没有找到实现本机XXXXXX [英] Android NDK: No implementation found for native xxxxxx

查看:191
本文介绍了Android的NDK:没有找到实现本机XXXXXX的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我做一个项目使用的苔丝二,我想使用的方法 pixConvertRGBToLuminance ,但它总是错误:

 没有找到实现原生LCOM /谷歌code / leptonica /安卓/像素; .nativePixConvertRGBToLuminance:(一)我。
 

ç的Java我的$ C $是:

 公共静态Pix的pixConvertRGBToLuminance(Pix的pixs){
    如果(pixs == NULL)
        抛出新抛出:IllegalArgumentException(源PIX必须为非空);

    INT nativePixd = nativePixConvertRGBToLuminance(pixs.getNativePix());

    返回新Pix的(nativePixd);

}
 

我的code的.cpp是:

  jint Java_com_google code_letonica_android_Pix_nativePixConvertRGBToLuminance(JNIEnv的* ENV,
    JCLASS clazz中,jint nativePixs){

PIX * pixs =(PIX *)nativePixs;

LOGE(------------------>无法找到本地pixConvertRGBToLuminance文件);
PIX * pixd = pixConvertRGBToLuminance(pixs);
返回(jint)pixd;
}
 

Leptonica的原来的code是:

  PIX * pixConvertRGBToLuminance(PIX * pixs)
{
  返回pixConvertRGBToGray(pixs,0.0,0.0,0.0);
}`
 

为什么我总是有错吗?THX。

解决方案

 的externCjint Java_com_google code_letonica_android_Pix_nativePixConvertRGBToLuminance(JNIEnv的* ENV,
    JCLASS clazz中,jint nativePixs){

PIX * pixs =(PIX *)nativePixs;

LOGE(------------------>无法找到本地pixConvertRGBToLuminance文件);
PIX * pixd = pixConvertRGBToLuminance(pixs);
返回(jint)pixd;
}
 

请参照<一href="http://stackoverflow.com/questions/9428001/calling-a-java-function-from-c-on-android-over-jni">Calling从C ++在Android的Java函数通过JNI

I do a project in using Tess-two, i want to use the method pixConvertRGBToLuminance, but it always the error:

No implementation found for native Lcom/googlecode/leptonica/android/Pix;.nativePixConvertRGBToLuminance:(I)I. 

My code Java is:

public static Pix pixConvertRGBToLuminance(Pix pixs){
    if (pixs == null)
        throw new IllegalArgumentException("Source pix must be non-null");

    int nativePixd = nativePixConvertRGBToLuminance(pixs.getNativePix());

    return new Pix(nativePixd);

}

My code .cpp is:

jint Java_com_googlecode_letonica_android_Pix_nativePixConvertRGBToLuminance(JNIEnv *env,
    jclass clazz, jint nativePixs){

PIX *pixs = (PIX *)nativePixs;

LOGE("------------------>Failed to find native pixConvertRGBToLuminance File");
PIX *pixd = pixConvertRGBToLuminance(pixs);
return (jint) pixd;
}

The original code of Leptonica is :

PIX * pixConvertRGBToLuminance(PIX *pixs)
{
  return pixConvertRGBToGray(pixs, 0.0, 0.0, 0.0);
}`

so why I always have the fault?Thx.

解决方案

extern "C" jint Java_com_googlecode_letonica_android_Pix_nativePixConvertRGBToLuminance(JNIEnv *env,
    jclass clazz, jint nativePixs){

PIX *pixs = (PIX *)nativePixs;

LOGE("------------------>Failed to find native pixConvertRGBToLuminance File");
PIX *pixd = pixConvertRGBToLuminance(pixs);
return (jint) pixd;
}

Refer Calling a Java function from C++ on Android over JNI

这篇关于Android的NDK:没有找到实现本机XXXXXX的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆