Android ) 안드로이드 NDK

Android 2014. 6. 11. 15:12 Posted by gaeddong2

NDK ( Native Development Kit ) 

안드로이드 NDK는 애플리케이션 개발자가 JNI를 활용한 작업을 쉽게 할 수 있도록 제공하는 개발도구이다.


NDK는 안드로이드에서 C/C++같은 네이티브 코드를 빌드해서 라이브러리를 만든 다음, 이를 안드로이드 애플리케이션에 삽입해주는 도구이다. 


NDK는 자체적인 빌드 시스템을 가지고 있기 때문에 이를 이용해서 빌드 및 패키징 작업을 하려면 Android.mk파일을 작성한 다음, ndk-build 쉘 스크립트를 실행해야 한다.


Android.mk

NDK 빌드 시스템에 네이티브 라이브러리를 생성하는 데 필요한 정보를 알려주는 스크립트 파일


ex)

#소스 파일들의 위치를 알려줌

LOCAL_PATH = $(call my-dir) 

파일의 기본 경로 설정 ( 특별한 경우가 아닌 경우 위 처럼 작성한다.)


#MAKE 관련 환경 변수를 초기화

inlude $(CLEAR_VARS)

Android.mk파일에서 사용되는 LOCAL_로 시작하는 변수 초기화

전역적으로 사용하기 때문에 기존 설정값을 초기화


#라이브러리를 빌드하기 위한 정보 생성(라이브러리 이름, 소스 코드 등)

LOCAL_MODULE :=ndk-exam

LOCAL_SRC_FILES :=first.c second.c

MODULE는 생성할 라이브러리 이름 (위의 코드는 libndk-exam.so이 된다.)

LOCAL_SRC_FILES 는 라이브러리 생성에 필요한 소스 코드 목록


#공유 라이브러리 생성

include $(BUILD_SHARED_LIBRARY)

LOCAK_ 등의 변수값을 이용해서 lib$(LOCAL_MODULE).so 라는 공유 라이브러리 생성