일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 책리뷰
- 람다
- 자청
- 부자의그릇
- mutable
- JNI
- 비동기
- 코틀린
- Kotlin
- ViewGroup
- 동기
- NDK
- 코루틴
- java
- View
- 멀티쓰레드
- AsyncTask
- Android
- SharedPreferences
- 부자아빠가난한아빠
- 기업가정신
- MVVM
- 타이탄의도구
- ViewModel
- 가치생산주의
- 안드로이드
- 인스턴스
- 부의추월차선
- 언스크립티드
- Coroutines
- Today
- Total
타이탄의 도구들
[Android] NDK와 JNI의 차이 본문
사전적 의미
Native Development Kit(NDK)
Native : 꾸밈없는, 천연 그대로의
Development : 개발
Kit : 조립을 해서 무엇을 바로 만들 수 있도록 부품들을 모아 놓은 것
참고
Software Development Kit
소프트웨어 개발 키트(SDK)는 응용 프로그램을 만들 수 있게 해주는 개발 도구의 집합이다.
한 예로, 안드로이드 앱 개발을 위해서는 Java를 포함한 SDK가 필요하다.
네이티브 언어에 대한 이해
Java Native Interface (JNI)
java : 자바 언어
native : 꾸밈없는, 천연 그대로의
interface : 사물과 사물 사이 또는 사물과 인간 사이의 경계에서, 상호 간의 소통을 위해 만들어진 매개체
고유명사적 의미
Android NDK는 C 및 C++와 같은 언어를 사용하여
어플의 일부를 구현할 수 있게 하는 개발 도구 모음이다.
특정 유형의 앱에서는
Android NDK를 통해 이러한 언어(C 및 C++)로 작성된 코드 라이브러리를 재사용할 수도 있다.
java만 사용하여 필요한 기능과 성능을 모두 만족시키기는 힘들다.
그래서 C나 C++ 언어로 작성된 프로그램을 java에서 사용할 수 있도록 하는
Programming Framework 가 JNI(Java Native Interface) 다.
JNI의 추가 정의
다른 언어들(C, C++)로 작성된 라이브러리들을 호출하는 것을 가능하게 하는 Programming Framework
Framework란?
'FRAME 프레임(틀, 규칙or법칙)'+'WORK 워크(일, 소프트웨어의 목적)
목적에 따라 효율적으로 구조를 짜놓은 개발 방식
NDK 와 JNI 의 차이
안드로이드에서 제공하는
NDK(Native Development Kit)를 이용해서
자바 애플리케이션과 연결 가능한
C/C++ 기반의 네이티브 라이브러리를 작성하고,
(이미 작성된 네이티브 라이브러리를 재사용하는 것도 가능하다)
JNI를 통해 네이티브 라이브러리를 호출하여 사용한다.
'Dev Tools > Android' 카테고리의 다른 글
[Android] 구글 인앱결제 이슈 정리 (0) | 2022.05.30 |
---|---|
[Android] Kotlin 과 Jetpack에 대하여 (0) | 2022.05.29 |
[Android] SharedPreferences에 대하여 (0) | 2022.05.28 |
[Android] ListView, RecyclerView, Lazy lists (0) | 2022.05.28 |
[Android] View와 ViewGroup (0) | 2022.05.27 |