Happy My Life

日常とか技術とか

ADTr20ではNDKなプロジェクトが簡単に作れるようになってた

前回に引き続きADTr20 & Android NDKネタ。今回は「ADTr20でNDKなプロジェクト環境が簡単に作れるようになったよー」という話。

NDK関連プロジェクトの準備は大変(従来は)

これまでは、新規作成したAndroidアプリケーションのプロジェクトに一部NDKなコードを混ぜようとすると、

  1. jniフォルダ作って
  2. jniフォルダにC/C++のファイルとAndroid.mkファイルを作って
  3. Javaコードと同時にビルドできるように設定して ... etc

など、手動で設定を行う必要があった(まあプロジェクトを新規作成するときだけ行えばいいのでそんなに手間でもないのだが)

が、ADTr20を使うとこれらの手間から解放されることに!

NDK関連プロジェクトの準備が自動されている(ADTr20では)

ということで、先ほど手動で設定していた項目がADTr20を利用した場合どうなるかを紹介する。

実は、先ほど行った設定はほどんどが不要になる。Androidアプリケーションのプロジェクトを作成したあと、プロジェクトを右クリックして Android Tools > Add Native Support をクリック。

nativesupport1

すると、作成する共有ライブラリ名を入力するダイアログが開くので、設定して閉じる。これで終わり。

nativesupport2

あとは、従来通り。C/C++のファイルを追加、編集したり、Android.mkファイルを書き換えるなど。ビルドは、Javaによる開発と同じ流れで自動的にndk-buildが呼び出されるので、これまでのような「ターミナルでndk-buildを実行」が不要になる。

ビルドに必要な設定も同時に行われる

ADTr20のAdd Native Supportでは、jniフォルダ以下を自動生成するだけでなく、CDTを利用したC/C++のコード編集やビルドに必要な設定も行ってくれる。

たとえば、アプリ実行時のjniフォルダ内のビルド設定や、参照すべきヘッダファイルのパス設定が行われていたりとか(Windows版では行われないようだが…)。どのような設定がされているかは、プロジェクトのC/C++ BuildやC/C++ Generalの設定を見てみると分かる。

とまあ、かなりの部分で自動化されているのだが、ADTr20では、いくつか不具合っぽい動きもある。そのうちの1つにAdd Native Supportの実行直後は、C/C++のヘッダファイルの参照が有効になっておらず、C/C++のコード中でエラーとなるなど。対処としてはEclipseを再起動するよい。

いくつか不具合もあるが、それを超えるメリットがあるのでADTr20には満足している。ということで、ADTr20のステマでした。

サクサク動く!  Androidアプリ高速化プログラミング
Herve Guihot
インプレスジャパン
売り上げランキング: 79202