では、Android NDKとJNIによるネイティブコードとの連携の具体的な手順について見ていこう。
Android NDKを用いた開発を行う場合、以下の環境が必要となる。
関連リンク: | |
---|---|
⇒ | Android 1.5 SDK, Release 3 |
⇒ | Android 1.5 NDK, Release 1 |
⇒ | Cygwin |
ここからは、Android NDKに付属しているサンプルアプリケーション「HelloJni」を実行するまでの具体的な手順を紹介する(注5)。
1.Cygwinに「gcc」「make」パッケージをインストール
Cygwinのインストール時に表示される「Cygwin Setup−Select Packages」ダイアログで、Devel配下にある「gcc」「make」パッケージを指定し、インストールする。パッケージ一覧からgccとmakeを探し、左側の“Skip”と書かれている部分をクリックするとバージョン番号が表示される(画像1)(画像2)(注6)。この状態でCygwinのインストールを行えば、両パッケージが追加される。これでAndroidのC-NativeコードをCygwinでコンパイルできるようになる。
2.Android NDKインストール
続いて、Android DevelopersサイトからAndroid NDKのZIPファイル「android-ndk-1.5_r1-windows.zip」をダウンロードする。そして、ZIPファイルを展開し、「android-ndk-1.5_r1」フォルダをDドライブ直下に移動する。
以下に、Android NDKの主なファイル構成を示す(一部省略)。
android-ndk-1.5_r1 ├ app │ └<App Name> │ ├ Application.mk …… Javaアプリケーションコンパイル情報 │ └ project │ ├ AndroidManifest.xml …… Javaアプリケーション構成情報 │ ├ bin …… Javaモジュール/コンパイル後生成される │ ├ libs …… Nativeライブラリモジュールが格納される │ ├ res …… Javaアプリケーション画像リソース │ └ src …… Javaアプリケーションソースコード ├build …… コンパイル環境設定 ├docs …… NDKドキュメント ├out └sources …… Nativeソースコード └samples └<App Name> ├ Android.mk …… Nativeライブラリコンパイル情報 └ Nativeソースコード …… Nativeアプリケーション
3.C-Nativeライブラリのコンパイル
Cygwinを起動し、C-Nativeライブラリをコンパイルするための環境設定シェルスクリプト「host-setup.sh」を以下のコマンドで実行する。
$ cd /cygdrive/d/android-ndk-1.5_r1 $ build/host-setup.sh
続いて、サンプルとして提供されているC-Nativeライブラリ「hello-jni」を以下のコマンドでコンパイルする。
$ make APP=hello-jni
コンパイルが正しく行われると、ライブラリファイル「libhello-jni.so」が以下の2つのフォルダに格納される。
D:\android-ndk-1.5_r1\app\hello-jni\project\libs\armeabi\libhello-jni.so D:\android-ndk-1.5_r1\out\apps\hello-jni\android-1.5-arm\libhello-jni.so
4.Eclipse環境設定
Eclipseで「hello-jni」プロジェクトを取り込む前に、Android 1.5 SDK環境が正しく設定できているかどうかを以下の手順で確認する。
(a)Android 1.5 SDKのファイルパスを確認
Eclipseを起動し、メニューから[Window]−[Preferences]をクリックして、「Preferences」ダイアログを表示する。左側のツリーから「Android」を選択し、「SDK Location:」にAndroid 1.5 SDKのトップディレクトリが設定されていることを確認する(画像5)。
(b)Android Virtual Devicesの確認
次に、エミュレータ上でAndroid 1.5を動作させるための“仮想デバイス”が生成されているかどうかを確認する。メニューから[Window]−[Android AVD Manager]をクリックして、「Android Virtual Devices Manager」ダイアログを表示する。「List of existing Android Virtual Devices:」にPlatform 1.5のAndroid仮想デバイスが存在しない場合、「Create AVD」のTargetに「Android 1.5 - 1.5」を選択して、Android仮想デバイスを生成する(画像6)。
Copyright © ITmedia, Inc. All Rights Reserved.