투케이2K

358. (android/안드로이드) NDK (Native Development Kit) , JNI (Java Native Interface) 용어 설명 본문

Android

358. (android/안드로이드) NDK (Native Development Kit) , JNI (Java Native Interface) 용어 설명

투케이2K 2022. 10. 25. 09:59

[개발 환경 설정]

개발 툴 : AndroidStudio

 

[설 명]

1. NDK 란 C 또는 C++ (네이티브 코드) 를 Android 앱에 삽입할 수 있게 해주는 도구 집합입니다

2. NDK 사용 시 유용한 상황 :

- 플랫폼 간 앱 이식

- 기존 라이브러리를 재사용하거나 재사용할 자체 라이브러리 제공

- 일부 경우, 특히 게임과 같이 계산 집약적인 앱의 성능 향상

3. NDK(Native Development Kit)는 안드로이드 환경에서 JNI를 사용할 수 있는 키트 입니다

4. JNI(Java Native Interface) 란 자바 이외의 네이티브 코드(C/C++)을 사용하기 위해 사용하는 인터페이스 입니다

5. NDK 기본 구성 요소 :

- 네이티브 공유 라이브러리 : NDK에서는 개발자의 C/C++ 소스 코드로부터 네이티브 공유 라이브러리 또는 .so 파일을 빌드합니다.

- 네이티브 정적 라이브러리 : NDK에서는 개발자가 다른 라이브러리에 연결할 수 있는 정적 라이브러리 또는 .a 파일도 빌드할 수 있습니다.

- 자바 네이티브 인터페이스(JNI) : JNI는 자바와 C++ 구성요소 간의 통신 채널 역할을 하는 인터페이스입니다.

- Application Binary Interface(ABI): ABI는 앱의 기계어 코드가 런타임 시 시스템과 어떻게 상호작용할지 정확하게 정의합니다. NDK는 이 정의에 따라 .so 파일을 빌드합니다. 다양한 ABI는 서로 다른 아키텍처에 대응합니다. 즉, NDK에는 32비트 ARM, AArch64, x86, x86-64 각각에 맞는 ABI 지원이 포함되어 있습니다.

 
반응형
Comments