[Java] JNI / NDK

이정연·2023년 5월 3일
0

Project

목록 보기
6/11

서론

캡스톤 프로젝트를 수행하던 중 Android Studio 환경에서 openCV를 사용할 일이 생겼다.

왜냐하면 제스처 인식부의 입력으로 실시간 스트리밍을 입력으로 받아야 하는 상황이기 때문이다.

본 프로젝트에서는 네이티브 코드의 openCV를 가져와 사용했다.

그러기 위해서 Java 환경에서 C/C++ 라이브러리를 쓸 수 있는 방법에 대해 탐구할 필요가 생겼다.

그 방법이 바로 JNI와 NDK!!!

결론

Java Native Interface
Native Development Kit

JNI와 NDK는 네이티브 코드(C/C++)의 라이브러리를 자바 환경에서 가져다 쓸 수 있도록 도와주는 툴

둘의 차이는 NDK는 네이티브 코드를 개발할 때 쓰고 JNI는 이를 실행할 때 쓴다는 점.

예를 들어, Python과 달리 C 언어에서 코딩을 할 때 바로 실행을 하는 것이 아닌 컴파일을 진행한 후 exe 파일을 실행해야 비로소 코드가 동작하는 것과 같이 컴파일이 NDK, exe가 JNI로 비유할 수 있다.

profile
0x68656C6C6F21

0개의 댓글