본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

Android NDK (Install)

0

Android NDK는 Android 앱에서 C 및 C++로 네이티브 코드를 구현할 수 있는 도구 세트입니다.

네이티브 개발성능 최적화앱 개발

소개

Android NDK는 Android 앱에서 C 및 C++로 네이티브 코드를 구현할 수 있는 도구 세트입니다. Google에서 제공하며, 기존 C/C++ 코드 라이브러리를 재사용하거나 성능이 중요한 부분을 네이티브로 작성하는 데 사용됩니다. 이 도구는 Android 앱의 성능 최적화 및 하드웨어 수준의 제어가 필요한 개발자에게 적합합니다.

상세정보

네이티브 코드 컴파일 및 디버깅

NDK는 C 및 C++ 소스 코드를 Android 기기에서 실행 가능한 네이티브 라이브러리(.so 파일)로 컴파일하는 도구 체인을 제공합니다. 개발자는 Android 스튜디오 내의 CMake 또는 ndk-build를 사용하여 네이티브 모듈을 빌드하고, LLDB 디버거를 통해 디버깅할 수 있습니다.

Android 플랫폼 API 접근

네이티브 코드에서 Android의 핵심 기능에 접근할 수 있도록 JNI(Java Native Interface)를 지원합니다. 또한, 네이티브 활동, 자산 관리, 입력 이벤트 처리 등을 위한 네이티브 API 세트를 제공하여 자바 레이어를 거치지 않고도 하드웨어 수준의 제어가 가능합니다.

다양한 아키텍처 지원

ARM, ARM64, x86, x86_64 등 주요 Android 기기 아키텍처에 대한 크로스 컴파일 도구 체인을 포함합니다.これにより、単一のソースコードから複数のデバイス向けバイナリを生成できます。

다운로드·설치 방법

Android NDK는 Android 스튜디오의 SDK 관리자를 통해 간편하게 설치할 수 있습니다. ‘SDK Tools’ 탭에서 ‘NDK (Side by side)’ 항목을 찾아 최신 버전을 선택하고 설치하면 됩니다. 별도의 다운로드 없이 Android 스튜디오 내에서 자동으로 다운로드 및 경로 설정이 이루어집니다.

명령줄을 선호하는 경우, 공식 웹사이트에서 ZIP 패키지를 다운로드하여 수동으로 설치할 수 있습니다. 다운로드 후 환경 변수에 ANDROID_NDK_HOME을 설정하고, 프로젝트의 build.gradle 파일에 ndkVersion을 지정하여 사용합니다.

기본 사용법/명령어

네이티브 메서드를 사용하려면 먼저 자바 또는 코틀린 클래스에서 native 키워드를 선언합니다. 예를 들어, external fun computeFoo(): Int 와 같이 선언한 후, C++ 소스 파일에서 JNIEXPORT jint JNICALL Java_com_example_myapp_MyActivity_computeFoo(JNIEnv*, jobject) 형태로 구현합니다.

빌드 시스템으로는 CMake를 권장합니다. 프로젝트 루트에 CMakeLists.txt 파일을 추가하고, add_library()로 네이티브 라이브러리를 정의한 후, target_link_libraries()로 로그 및 안드로이드 라이브러리를 연결합니다. 그 후, 외부NativeBuild 블록에서 cmake {}를 지정하여 Gradle이 자동으로 빌드하도록 설정합니다.

이런 경우에 유용합니다

게임 개발에서 물리 엔진이나 그래픽 렌더링과 같은 성능이 중요한 부분을 네이티브로 작성하여 프레임 레이트를 향상시킬 때 유용합니다. 또한, 기존의 C/C++ 라이브러리(예: 오디오 코덱, 이미지 처리 라이브러리)를 Android 앱에 포팅해야 하는 경우, JNI를 통해 호출하여 재사용할 수 있습니다. 보안이 중요한 알고리즘을 자바 레이어에서 숨기고 네이티브 레벨에서 구현하여 역공학을 어렵게 하는 데에도 활용됩니다.

지원 환경·시스템 요구사항

Android NDK는 Windows, macOS, Linux 운영 체제에서 실행할 수 있는 크로스 플랫폼 도구 체인입니다. Android 스튜디오 2.2 이상과 호환되며, 최소 Android API 레벨 16부터 지원합니다. 네이티브 개발을 위해서는 JDK 8 이상과 CMake 3.10.2 또는 그 이상이 권장됩니다.

최신 버전·업데이트

현재 버전은 27.2.12479018이며, 이는 Android 15(API 레벨 35)와의 호환성을 포함합니다. 정기적인 업데이트를 통해 새로운 툴체인 개선, 버그 수정, 그리고 최신 Android 플랫폼 기능 지원이 제공됩니다. 변경 사항은 공식 Android 개발자 블로그 및 릴리스 노트에서 확인할 수 있습니다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.