2014-01-23 4 views
0

Я пытаюсь создать приложение NDK, но получаю эту ошибку java.lang.UnsatisfiedLinkError: родной метод не найден: com.examplejni.MainActivity .sum: (II) ISum собственный метод в c - java.lang.UnsatisfiedLinkError: родной метод не найден

Я хочу, чтобы вызвать функцию суммы, написанный на C от моего приложения Android

Я отсутствующий шаг делать?

Это с файл (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

Вам не хватает огромного шага. Я предлагаю вам сначала изучить учебники NDK. – eozgonul

ответ

0

Вы не можете получить доступ к нативная функция напрямую. Вы должны сначала создать функцию JNI для вызова.

tutorial

Смежные вопросы