Android 1.5 NDK Release 1が発表されました。

今までもJNI経由でNativeコードを組み込む事が可能でしたし、実際にやったりしていたのですが、正式な開発キットがリリースされたので安心して使用する事ができるようになりました。

以下ブログ記事の超訳です。

Introducing Android 1.5 NDK, Release 1

Android developerサイトから、Android Native Development Kitがダウンロードできます。

Android アプリケーションは、Dalvik virtual machine上で動作しています。NDKはアプリケーションをnative-code (例えばCやC++)で書くことができるようにします。ある特定の分野のアプリケーションでは、ネイティブコードでアプリケーションを書けるということは非常に重要な事です。

NDKが提供するもの
  • C及びC++で書かれたソースコードからネイティブコードライブラリーを作成するビルドツール群
  • ネイティブライブラリを含んだアプリケーション(.apks)をAndroidデバイスに配布する方法
  • 今後も互換性が保たれる、ネイティブのシステムヘッダ、ライブラリ、そしてドキュメントとサンプルコード、チュートリアル
NDKは、ARMv5TEマシンの命令セットをサポートし以下のヘッダを提供します
  • 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
注意事項

NDKは一般的なアプリケーションには関係ない開発キットです。ほどんどのアプリケーションでは使う事はないでしょう。

ネイティブコードは以下の欠点があります。

  • 複雑になりやすい
  • 互換性に問題が出やすい
  • フレームワークAPIを使用できない
  • デバックがしにくい

しかし、信号処理や、物理学シュミレーション等高速な処理が必要な一部のアプリケーションでは、非常にメリットがあります。

ネイティブコードのメリットとデメリットをよく考えて選択する必要があります。

感想

すぐに使う物でないため、NDKはまだ試していないのですが、今までは、Javaで書いたソースからネイティブコードを呼び出す必要があったのですが、CやC++単体でのアプリケーション等は可能になるのか少し興味があります。

一通り試してみたらまた記事に致します。

ブログ内の関連する記事