1. 위치 /Users/duongame/devtools/android-ndk
1) .bash_profile에 패스를 추가해준다.
$ cat .bash_profile
export ANDROID_NDK_ROOT=/Users/duongame/devtools/android-ndk
export ANDROID_SDK_ROOT=/Users/duongame/devtools/android-sdk
export NDK_ROOT=$ANDROID_NDK_ROOT
export PATH=$PATH:$ANDROID_NDK_ROOT
2) source .bash_profile
3) ndk-build 실행 테스트
2. 방법
1) 소스에 jni폴더를 만든다.
2) 아래와 같이 소스(jni-sample1.c)를 만드는데 소스에서 함수 명은 Java_(package_name)_className_functionName으로 정한다
#include<string.h>
#include<jni.h>
jstring
Java_com_example_jnisample1_JNISample1_stringFromJNI( JNIEnv* env,
jobject thiz )
{
__android_log_print(ANDROID_LOG_DEBUG, "JNI", "Hello World");
return (*env)->NewStringUTF(env, "Hello from JNI !");
}
3) jni폴더에 Android.mk를 만든다.
LOCAL_PATH := $(call my-dir)
include$(CLEAR_VARS)
LOCAL_MODULE := jni-sample1
LOCAL_SRC_FILES := jni-sample1.c
include$(BUILD_SHARED_LIBRARY)
4) Terminal을 열어서 해당 프로젝트의 디렉토리로 가서 ndk-build를 실행한다. 그러면 jni-sample1.so 파일이 libs 폴더 아래에 만들어 진다.
5) 소스에서 다음과 같이 설정하면 사용할수 있다.
publicclass JNISample1 extends Activity {
static {
System.loadLibrary("jni-sample1");
}
public native String stringFromJNI();
No comments:
Post a Comment