안드로이드 애플리케이션에서 C와 C++를 사용한 Native Code를 이용한 개발을 할 수 있도록 해주는 NDK가 공개되었습니다. 그동안 JNI등을 이용할 수는 있었지만 명확히 어디까지 사용해도 되고 사용하면 안되는지에 대한 기준이 없었는데 이제 NDK가 그 기준이 될듯 합니다. 성능이 중요한 모바일에서 Java로 밖에 코드를 작성할수 없는 것은 큰 제약이거든요. 특히 멀티미디어 그래픽등의 처리에 있어서는 꼭 필요한 기능이었습니다.

지원하는 헤더와 라이브러리는 다음과 같습니다. 가장 기본적인 것들만이 들어갔다고 할 수 있습니다.
  • libc, the standard C library
  • libm, the standard math library
  • the JNI interface
  • libz, the common ZLib compression library
  • liblog, used to send logcat messages to the kernel
현재는 ARMv5TE 만을 지원하도록 되어있으나 전에 살펴본 apk 구조에서는 여러 인스트럭션 셋을 위한 각각의 라이브러리를 생성해서 넣을 수 있게 되어있었던 것으로 기억합니다. 애플리케이션 개발자들은 이제 복잡하게 버전 맞추기도 힘든 풀소스 받을 필요없이 NDK만 받으면 될것 같습니다.


NDK 다운로드 : http://developer.android.com/sdk/ndk/1.5_r1/index.html
블로그 : http://android-developers.blogspot.com/2009/06/introducing-android-15-ndk-release-1.html