본문으로 바로가기
728x90

0. 용어 설명

  • JNI

Java Native Interface의 약자로 Java에서 Native(C/C++)로 작성된 프로그램을 연결하기 위한 코드

JNI를 통해 Java에서 Native 함수를 사용할 수 있고, 반대로 Native에서 Java 함수를 호출할 수 있습니다.

문법은 C를 기반으로 하고 Java형 타입들이 존재합니다.

예) jint, jfloat, jstring, jobject, JNIEnv 등

  • Android NDK

Native Development Kit의 약자로 Android에서 제공하는 네이티브 개발 도구입니다.

JNI개발을 위해 설치가 필요합니다.

C/C++ 라이브러리 및 소스코드를 빌드하기 위한 빌드 스크립트

보통 CMakeLists.txt 라는 파일로 관리됩니다.

CMake 문법(명령어)이 따로 있기 때문에 사용법을 알아야 합니다.

 

CMake

CMake is an open-source, cross-platform family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files, and generate native makefile

cmake.org

  • ndk-build

CMake 대신에 사용할 수 있는 빌드 스크립트로 NDK의 Make기반 빌드 시스템을 사용합니다.

Android.mk, Application.mk 라는 파일을 사용하며 이 또한 명령어를 숙지해야합니다.

요즘에는 CMake가 보편적이기에 이 글에서는 설명하지 않습니다.

1. 설치 및 환경 설정

 

Download Android Studio and SDK tools  |  Android 스튜디오

developer.android.com

위의 사이트에 들어가서 Android Studio 및 SDK 를 다운로드 받습니다.

  • NDK, CMake, LLDB

Android Studio 설치 및 실행 후, Tools > Android > SDK Manager를 선택하면 아래와 같은 창이 나옵니다.

SDK Tools > NDK, CMake, LLDB 체크 > OK 를 선택하여 설치합니다.

  • NDK 경로 설정 (* 프로젝트 생성 후 설정하시기 바랍니다.)

File > Project Structure 를 선택하면 아래의 창이 나옵니다.

보통 ▼버튼을 선택하면 자동으로 경로가 잡힙니다.

설치된 NDK 경로를 선택해 줍니다.

 

만약 다른 버전의 NDK를 사용하길 원하면 이곳을 참고 (developer.android.com/ndk/downloads/revision_history)

 

NDK 버전 기록  |  Android NDK  |  Android Developers

이 페이지에는 출시된 모든 안정적인 NDK 버전의 변경사항에 관한 정보가 포함되어 있습니다. 안정적인 최신 NDK 버전 또는 현재 이용 가능한 베타 버전을 다운로드하려면 NDK 다운로드 페이지를

developer.android.com


다음장에서는 실제로 프로젝트를 생성하고 개발하는 방법에 대해 설명합니다.

728x90