NDK로 개발중 자주 사용하는 부분만 따로 라이브러리화 시키기 위해서 정적 라이브러리 파일 .a를 만드는 방법입니다.


라이브러리화 시킬 소스파일이 있는 폴더에 android.mk 파일을 아래와 같이 작성합니다.

LOCAL_PATH := $(call my-dir)

# 제작될 라이브러리(.a) 소스
include $(CLEAR_VARS)

# 라이브러리 이름
LOCAL_MODULE    := berabue

# 라이브러리에 포함될 소스 파일명
LOCAL_SRC_FILES := main.c\
				math.c\
				struct.c\

include $(BUILD_STATIC_LIBRARY)


# 쓰레기 .so 파일로 필수로 작성되어야 합니다
include $(CLEAR_VARS)

# 아무것이나 적습니다
LOCAL_MODULE    := garbege

# 위에 작성한 정적 라이브러리 이름
LOCAL_STATIC_LIBRARIES := berabue
include $(BUILD_SHARED_LIBRARY)

android.mk 파일을 위와같이 작성한 뒤 해당 폴더를 빌드(ndk-build)하


obj -> local -> armeabi 폴더에 berabue.a 파일이 생성됩니다.


해당 라이브러리파일과 소스에 사용되는 헤더파일(.h)을 같이 사용할 프로젝트에 넣으면 됩니다.







+ Recent posts