2014-01-23 7 views
0

NDK 애플리케이션을 만들려고하지만이 오류가 발생합니다. java.lang.UnsatisfiedLinkError : 네이티브 메소드가 없습니다. com.examplejni.MainActivity .sum : (II) I c에서 네이티브 메소드 합계 - java.lang.UnsatisfiedLinkError : 네이티브 메소드를 찾을 수 없음

내 안드로이드 응용 프로그램

에서 C로 작성 합 함수를 호출 할

내가 할 수있는 단계를 실종?

은 (sum.c)

int sum(int n1,int n2) 
{ 
    return n1+n2; 
} 

이이 내 활동

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

Android.mk

LOCAL_PATH := $(call my-dir) 

include $(CLEAR_VARS) 
LOCAL_MODULE := sum 
LOCAL_SRC_FILES := sum.c 
include $(BUILD_SHARED_LIBRARY) 

입니다 당신은에 액세스 할 수 없습니다를 C 파일입니다 네이티브 함수를 직접 호출합니다. 먼저 호출하려면 JNI 함수를 작성해야합니다.

이 부분을 참조하십시오. tutorial