Hello NDK (NetBeans)

Android NDK に入っているSampleプロジェクトhello-jniをNetBeans内で構築できるかやってみた。

開発環境

OS Windows7 Professional 64bit
JDK Java SE7 Update 3
IDE NetBeans7.1.2
Cygwin Version 1.7.15
Android SDK SDK Tools, Revision 18
Android NDK Revision 8

Android SDK 及び Android用プラグインの導入

Hello Android(NetBeans) などを参照し、導入をする。

Android NDKの準備

NDK配布サイトからzipファイルを落とし、任意のフォルダに解凍する。(以降解凍先フォルダを<ndk>と表記)

<ndk>をWindowsのPATH環境変数に追加する。

必須ではないが、サンプルプロジェクト<ndk>/samples/hello-jni を任意のフォルダにコピーする。(以降目的のプロジェクトフォルダを<hello-jni>と表記)

Cygwinのインストール

C/C++プロジェクトの構築でCygwinやMinSYSのシェルが必要、ここではCygwinを使用した。

Cygwin配布サイトからsetup.exeを落とし、実行する。

DefaultのPackege構成に加え、Develカテゴリから最低限gcc、makeを選択し、イントールする。(以降Cygwinインストールフォルダを<cygwin>と表記)

NetBeansの設定

NetBeansにC/C++プラグインが入っていない場合、[ツール]->[プラグイン]、[プラグイン]ダイアログの[使用可能なプラグインタブ]で[C/C++]プラグインを選択し、インストールする。

・C/C++ツールコレクションを構成

[ツール]->[オプション]、[オプション]ダイアログの[C/C++]の[構成ツール]タブで[ツールコレクション]が設定されていなければ、[追加]ボタンを押す。

[新規ツールコレクションの追加]ダイアログの[ベースディレクトリ]に"<cygwin>/bin"を設定する

・hello-jni Androidプロジェクトを開く

[ファイル]->[プロジェクトを開く]、[プロジェクトを開く]ダイアログで<hello-jni>を指定し、プロジェクトを開く。

・hello-jniプロジェクトのjniフォルダをC/C++プロジェクトして開く

[ファイル]->[新規プロジェクト]、[新規プロジェクト]ダイアログで、[C/C++]カテゴリから[既存のソースを使用するC/C++プロジェクト]を選択し、[次へ]

[モードを選択]で[既存のソースを含むフォルダを指定]に"<hello-jni>/jni"を指定、[構成モードを選択]で[カスタム]を選択し[次へ]。

[構成ツール]で[既存のメイクファイルを使用]を選択し、[既存のメイクファイル]に"<hello-jni>/jni/Android.mk"を指定し[次へ]。

[構成アクション]で[構築コマンド]に"ndk-build.cmd"、[生成物を削除コマンド]に"ndk-build.cmd clean"を指定し、[次へ]

[プロジェクトの名前と場所]で[プロジェクト名]と[プロジェクトの場所]に適宜値を設定し、[完了]

hello-jniのC/C++プロジェクトが自動的に構築される。

(<ndk>/ndk-build.cmdに実行権限が無く失敗することがあった)

プロジェクトへの操作

[プロジェクト]ウィンドウの[hello-jni C/C++]プロジェクトの右クリックで表示されるポップアップメニューで、[構築]、[生成物を削除して構築]、[そのほかの構築]->[生成物を削除]が行える。

[プロジェクト]ウィンドウの[hello-jni]プロジェクトの右クリックで表示されるポップアップメニューで、[実行]を選択することで、エミュレータの起動、アプリケーションのエミュレータへのインストール、実行が行える。