「Android NDK入門/演習」サポートページ目次へ
 このサイトの目次へ

「Eclipseを用いたAndroidアプリ開発の環境を整える」目次へ

Eclipse のNDK用プラグインで本書を実践

 工学社刊/清水美樹著「Android NDK入門/演習」」( ISBN978-4-7775-1671-1/ ISBN978-4-7775-1672-8)の、著者によるサポート内容をご紹介します。

 最近、ついに「Eclipse ADTプラグイン」に「NDK開発ツール」が登場しました。これで、NDKの実行がかなり便利になると思います。とはいえ、本書「入門」で御紹介しました方法は健在ですし、「Eclipseを使うほうがむしろ大変だ」という方には引き続き本書の「入門」を御利用いただけます。それにしても、NDKをEclipseで操作するにはどうすればよいのでしょうか。紹介します。

NDK用プラグインのインストール

「ADTプラグイン」の「NDK開発ツール」

 「NDKプラグイン」とつい言ってしまいますが、正式には、Eclipseの「ADTプラグイン」の中の「NDK開発ツール」です。
「ADTプラグイン」をまだ「Eclipseに」インストールしていない方は、筆者の別のページ「Eclipse を用いたAndroidアプリ開発の環境を整える」を実践してください。本書を実践しておられる方は、その中の「Eclipseのダウンロードとインストール」のからの作業になります。

Eclipseを起動したら、メニューから「ヘルプ」-「新規ソフトウェアのインストール」を選びます。
そのあと、別ページ「ADT(Android開発用Eclipseプラグイン)の導入」に示す方法で、「ADTプラグイン」を導入します。 このとき、プラグインの種類には「開発ツール」と「NDKプラグイン」がありますが、両方とも選びます。
図1 「開発ツール」と「NDKプラグイン」を両方選ぶ

なお、「すでに、『開発ツール』のほうはインストールしてある」「そのとき、ダウンロード先のサイトを入力したが、今はサイトの名前を覚えていない」という場合、もう一度ダウンロード先のサイト名を入力し直す必要はありません。前回『開発ツール』をインストールしてあれば、サイト名はリストから選べます。
図2 一度接続したサイトの名前はリストから選べる

NDKの設定

NDKプラグインをインストールしたら、Eclipseの「ウィンドウ」-「設定」で、Eclipseの設定画面を出します。
左側の分類一覧から、「Android」-「NDK」を選びます。
「NDK」の画面で、「NDK Location」に、NDKの場所を設定します。本書で「NDK_HOME」と言っている場所です。
たとえば、「ホームフォルダ/myndk/android-ndk-r8b」のような場所ですが、「参照」ボタンをクリックすれば実際に選べます。
図3 NDKの場所を登録しておく

NDKプロジェクトをEclipseに読み込む

「既存のソースコードからプロジェクトを作成」

本書でも用いた、NDKのサンプルとして提供されているサンプルのフォルダ「native-activity」を、Eclipse に読み込んでみましょう。
Eclipseには、「既存のプロジェクトをワークスペースに読み込む」選択もあります。でもそれは「既存のEclipseプロジェクト」です。AndroidのプロジェクトとEclipseのプロジェクトは、似ていますがちょっと違います。

Eclipseで、メニューから「新規」-「その他」を選びます。
これで、Eclipseで使える「ウィザード」が、一覧となって表示されます。「Android」の中から、さらに「既存コードからのAndroidプロジェクト」を選びます。
図4 「既存コードからのAndroidプロジェクト」

既存コードの場所を選ぶ

 「既存コードの場所」を指定するウィンドウになりますので、NDKプロジェクトのフォルダを探して選びます。正しく選べると、下の欄に、認識されたプロジェクトのメインのアクティビティが表示されます。NDKプロジェクトでは必ずandroid.app.NativeActivityがメインのアクティビティとなるしくみですから、これが検知されて一覧に上がります。
ここでは、サンプル・プロジェクトの名前を変えて自分のプロジェクトにしたものを読み込んでみましょう。サンプルプロジェクトのフォルダ「native-activity」のフォルダは(実際は設定ファイルにもいろいろ変更があります。詳しくは上記リンクから該当文書を御覧下さい)
図5 「native-activity」フォルダをいろいろ変更した「my-native-app」フォルダを選ぶ
図6 正しく指定できれば、「android.app.NativeActivity」が検知される

読み込んでいいかどうか不安な場合

 このプロジェクトを本当にEclipseで操作して大丈夫か?そんな不安がある場合、図6の画面で「プロジェクトをワークスペースにコピー」を選びます。これでソースはEclipseのワークスペースとして指定した場所にコピーされますから、何か失敗しても元のプロジェクトフォルダは無傷ですみます。
図7 「プロジェクトをワークスペースにコピー」を選ぶ

android.app.NativeActivityプロジェクトになる

  図6の画面で「完了」をクリックすると、Eclipseにプロジェクトが作成されます。
左側の「パッケージ・エクスプローラー」を見てください。他にもいろいろAndroidプロジェクトを作って来た場合、ちょっと見失うかも知れません。
プロジェクト名は、「android.app.NativeActivity」というプロジェクトです。
図8 「android.app.NativeActivity」というプロジェクトができている
これは、Eclipseの通常の操作に従って名前を変更できます。手早く申しますと、プロジェクト・フォルダを右クリックして、コンテキストメニューから「リファクタリング」-「名前変更」を選んでください。

ネイティブライブラリの作成(の設定)

Native Supportを追加

 Eclipseに読み込んだNDKプロジェクトをビルドするには、まずプロジェクトを右クリックして、コンテキストメニューの下のほうから「Androidツール」を選び、さらにそこから「Add Native Support」を選びます。

図9 「Androidツール」-「Add Native Support」を選ぶ

ライブラリ名の指定?

すると、ライブラリ名を指定するウィンドウが現れます。よく見ると、最初に「lib」、最後に「.so」がついています。すなわち、「libmynativeapp.so」を作りたければ、欄には「mynativeapp」と入力すればよいことになります。
図10 ライブラリファイル名を入れろというのだが
そこで疑問が生じます。このライブラリ名を指定すれば、「android.mk」「AndroidManifest.xml」など、ネイティブライブラリの名前に関わる表記は全て自動で更新されるのか?...
しかし、筆者が実際にやってみたところ、それはないようでした。
さらに、この図10のウィンドウは、その後出てきませんでした。
また、図9の「Add Native Support」の選択肢も、一度選んだプロジェクトには、二度と現れませんでした。
ではどうするかといいますと、

android.mk, Android.xmlなどは、別ページサンプル・プロジェクトから自分のプロジェクトを作るで設定したように手作業で設定し、あとは普通に「ビルド」すればよい

ということがわかりました。ですから、図10のウィンドウには、まあ適切と思われる値を、入れておけばよいと思います。

エラーが出ても心配なし

 さらに、図10で「完了」をクリックすると、なにやらビルド作業が行われるようですが、Windows の場合「Cygwinのパスが見つからない」というエラーが出ます。でも、これでひるむことはありません。
図11 「Cygwin」のパスが見つからないというエラーが出ても大丈夫
プロジェクトをビルドするときには、関係なく、NDKのコンパイルツールがちゃんと使われてビルドされます。

プロジェクトのビルド

ビルドの過程

 通常は、「プロジェクトのビルド」は選択が無効になっています。「クリーン」で明示的にビルドすることになります。また、もし前に作成した「bin」「obj」「libs」のフォルダを削除すれば、「プロジェクトに変更があった」とみなされて、「プロジェクトのビルド」の選択肢が有効になります。
図12 「プロジェクトのビルド」を選ぶ
以上に記述した方法で、ネイティブのサポートが有効になっていれば、コンソールに「ndk-build」の過程が出力されます。
図13 ビルド中に、コンソールに現れる「ndk-build」の出力
図14 ネイティブビルドも完了
あとは通常通り実行すれば、エミュレータなり、実機なりで試すことができます。
 「Android NDK入門/演習」サポートページ目次へ
 このサイトの目次へ

「Eclipseを用いたAndroidアプリ開発の環境を整える」目次へ