Суммарный собственный метод в c - java.lang.UnsatisfiedLinkError: Собственный метод не найден
Я пытаюсь создать приложение NDK, но я получаю эту ошибку java.lang.UnsatisfiedLinkError: Собственный метод не найден: com.examplejni.MainActivity.sum:(II)I
Я хочу вызвать функцию суммы, написанную на c из моего приложения для Android
Я пропустил шаг, чтобы сделать?
Это файл c (sum.c)
int sum(int n1,int n2)
{
return n1+n2;
}
Это Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := sum
LOCAL_SRC_FILES := sum.c
include $(BUILD_SHARED_LIBRARY)
Это моя деятельность
package com.examplejni;
import com.examplejni.R;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity
{
static
{
System.loadLibrary("sum");
}
public static native int sum(int n1, int n2);
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int value1 = 20;
int value2 = 30;
int nativeOut;
nativeOut = sum(value1, value2);
TextView tv = (TextView) findViewById(R.id.text);
tv.setText(nativeOut);
}
}
1 ответ
Решение
Вы не можете получить доступ к нативной функции напрямую. Вы должны создать функцию JNI для вызова в первую очередь.
Посмотреть этот урок