找不到布尔的实现

时间:2018-11-18 23:26:41

标签: android android-studio java-native-interface

我正在尝试调用该函数,但出现以下错误

  

由于:java.lang.UnsatisfiedLinkError:找不到以下实现   布尔com.example.rosaa.ftp.FTPClient.ftpIsConnected()(尝试   Java_com_example_rosaa_ftp_FTPClient_ftpIsConnected和   Java_com_example_rosaa_ftp_FTPClient_ftpIsConnected__)           在com.example.rosaa.ftp.FTPClient.ftpIsConnected(本机方法)           在com.example.rosaa.ftp.FTPClient.isConnected(FTPClient.java:227)           com.example.rosaa.myapplication.tasks.CheckDroneNetworkAvailabilityTask.doInBackground(CheckDroneNetworkAvailabilityTask.java:86)

这是功能

private native boolean ftpIsConnected();

jni中的功能

JNIEXPORT jboolean JNICALL
Java_com_example_rosaa_ftp_FTPClient_ftpIsConnected(JNIEnv *env, jobject obj)
{
    _ftp_t* ftp = get_ftp_handle(env, obj);

    if (ftp != NULL) {
        return (ftp->connected>0?TRUE:FALSE);
    }

    return FALSE;
}

1 个答案:

答案 0 :(得分:0)

您需要为该函数提供一个返回布尔值的实现。

private native boolean ftpIsConnected() {
    ///Some logic will eventually go here
    return true;
}