본문 바로가기

Dev Workbooks/Dev for Fun

[Android] Android 1.5 NDK(Native Development Kit) Release 1 발표

Group Photo - Android
Group Photo - Android by Austin Ziegler 저작자 표시동일조건 변경허락


구글이 안드로이드 1.5 NDK, Release 1을 발표했다.
안드로이드 어플리케이션은 Dalvic(엄밀히는 JVM과 다르다)이라는 가상머신 위에서 실행되는데,
NDK(Native Development Kit)는 안드로이드 어플리케이션의 일부를 C, C++ 등의 네이티브 랭귀지로 작성할 수 있도록 해준다.

NDK는 아래와 같은 것들을 제공한다.
  • C, C++ 소스로부터 네이티브 코드 라이브러리를 생성할 수 있는 툴들과 빌드 파일들을 제공
  • 안드로이드 장치에 배포될 수 있는 어플리케이션 패키지 파일(.apks) 안에 네이티브 라이브러리를 임베드할 수 있는 방법을 제공
  • 안드로이드 1.5이후 릴리즈에 제공하게 될 모든 안드로이드 플랫폼에서 지원할 네이티브 시스템 헤더와 라이브러리들, 그리고 문서와 샘플 그리고 튜토리얼들을 제공

이 버전의 NDK는 ARMv5TE 머신의 인스트럭션 셋을 지원하며 아래의 안정버전 헤더를 제공한다.
  • libc, 표준 C 라이브러리
  • libm, 표준 수학 라이브러리
  • JNI(Java Native Interface) 인터페이스
  • libz, ZLib 압축 라이브러리
  • liblog, logcat 메시지를 커널로 보내는데 사용
주의해야 할 점은, NDK는 모든 안드로이드 어플리케이션에 적합하지 않을 것이라는 점이다.
NDK를 사용한 어플리케이션은 복잡해질 것이며, 호환성이 떨어질 것이고, 프레임웍 API에 접근할 수 없고, 디버그가 함들 것이다.

개발자로서, NDK를 이용하려면 NDK가 주는 장점과 결점 사이에서 적절한 균형을 맞추어야 한다.

사실 본 포스트는 구글 안드로이드 개발자 블로그의 포스트 "Introducing Android 1.5 NDK, Release 1"을 얼렁뚱땅 해석해 놓은 것에 지나지 않는다.
발로 번역해도 이보다 나을 것이므로,
자세한 내역은 아래 링크를 통해 알아보도록 하자.