Androidでネイティブコードを動かすための開発ツールを見つけた。
Android NDKは、Androidアプリ開発者のみんなが、君たちのアプリケーションに、ネイティブコードで書かれたコンポーネントを埋め込むことができるようになるツールだよ。
AndroidアプリはDalvik仮想マシンの上で動くんだけど、このNDKを使えば、CやC++みたいなネイティブコード言語を使ってアプリケーションのパーツを開発できるようになるんだ。
そうすれば、ある種のアプリケーションにはメリットがあるんだ。それらの言語で書かれたコードを再利用することができるとか、時にはスピードアップとかね。
このNDKに入れてあるもの
- CやC++のソースコードからネイティブコードライブラリを生成する事ができるツールやビルドファイル。
- ネイティブコードライブラリをAndroidデバイスにデプロイ可能なアプリケーションパッケージファイル(.apks)に埋め込む方法。
- ネイティブシステムヘッダーやライブラリのセット。これらは将来にわたってAndroid 1.5以降の全てのAndroidプラットフォームでサポートされるよ。
- ドキュメント、サンプル、それにチュートリアル
このリリースのNDKはARMv5TEのマシン語をサポートしている。それに、安定したlibcのヘッダーファイル(Cライブラリ)やlibm(数学ライブラリ)、JNIインターフェースやその他のライブラリを入れてあるよ。
このNDKは、ほとんどのアプリケーションには役に立たないだろうな。開発者として、メリットとデメリットのバランスを見極める必要があるよ。特に、ネイティブコードを使っても、自動的にパフォーマンスが向上するわけじゃないし、そのくせ必ずアプリケーションを複雑にしてしまうからね。
NDKを使うよい例は、自己完結的で、メモリアロケーションを伴わない、CPUをこき使うような処理だね。例えば、シグナル処理とか物理シミュレーションとかね。なにかのメソッドを単純にCで書き換えたとしても、たいていはたいしてパフォーマンス向上につながらないよ。でもね、NDKは既に世の中に存在するCやC++のコードを再利用する時には効率的な手段になり得るんだ。
注意して欲しいんだけど、NDKを使ってもネイティブコードだけのアプリケーションを作ることはできないよ。AndroidのメインのランタイムはDalvik仮想マシンのままだからね。
0 件のコメント:
コメントを投稿