Я пытаюсь создать один файл .so для hello-word, но я получаю сообщение об ошибке ниже,
java .lang.UnsatisfiedLinkError: Реализация для java .lang не найдена .String com.vmukti.ndktest.MainActivity.stringFromJNI ()
Вот весь мой код:
Android .mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := ndktest
LOCAL_SRC_FILE := ndktest.c
include $(BUILD_SHARED_LIBRARY)
Приложение. mk
APP_PLATFORM := android-16
APP_CFLAGS += -Wno-error=format-security
APP_ABI := all
ndktest. c
#include <jni.h>
#include <string.h>
extern "C" JNIEXPORT jstring JNICALL
Java_com_vmukti_ndktest_MainActivity_stringFromJNI(
JNIEnv *env,
jobject /* this */) {
std::string hello = "Hello from C++";
return env->NewStringUTF(hello.c_str());
}
MainActivity. java
package com.vmukti.ndktest;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
public class MainActivity extends AppCompatActivity {
static {
System.loadLibrary("ndktest");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
stringFromJNI();
}
private native String stringFromJNI();
}
![enter image description here](https://i.stack.imgur.com/VZdvZ.png)