2011年2月17日木曜日

Android JNI を Eclipse CDT でプロジェクト統合する
<ubuntu 10.10編 その1>

livedoor版に「サーバ管理者の戯言」としてblogを書いていましたが、半年以上放置した結果スパムコメント送信業者?と削除と追加のイタチごっこに疲れたので、blogspotに移行することにしました。移行といっても、古いデータを持ち込むことはしないので、旧サイトの内容がどうしても見たい方はそちらへ。orz

AndroidでJNIを開発しようとしていたのですが、ndk r4以降から大幅に変更されています。これらを含めた纏まった情報が無く、いろいろ参照しながら苦労したので備忘録として記載します。
その1ではAndroid SDK環境構築について記載します。といいますのも、JNIのJavaプロジェクトをCDTと統合しプロジェクトのビルド実行時に同時にコンパイルするため、SDKおよびNDK両方の環境が必要となるからです。

では、SDK構築からとなります。


<前提>
  • Ubuntu 10.10 で作業を行ったため、Ubuntu 10.10が利用できること。(笑)
  • Eclipseは標準的なaptまたはSynapticパッケージマネージャでインストールします。そのためEclipseは3.5.2。インストール対象はeclipse-platform,eclipse-jdt,eclipse-cdt,openjdk-6-jre

<Android SDKのインストール>
  • Download the Android SDKから「android-sdk_r09-linux_x86.tgz」を選択してダウンロードします。
  • ついでですが、Download the Android NDKから「android-ndk-r5b-linux-x86.tar.bz2」もダウンロードしておきましょう。
  • tgzとbz2を展開します。右クリックで[書庫マネージャで開く]を選択し、自分のホームに展開します。展開ディレクトリは好きな場所で結構なのですが、一般的には「/home/hogehoge」(ユーザ名hogehoge)の直下か、もう一階層掘って展開するのが一般的です。
    #2つとも展開します。コマンドラインで作業しても良いのですが、画像の方が見栄えがいいかと。
  • 環境変数を変更するので、「.bashrc」を修正します。
        $ vi .bashrc
  • 最後尾に以下の内容を記載しておきます。私の場合には「/home/hogehoge」直下に展開しましたので、この通りになります。あと、platform-toolsを追加しているのはadbの配置が変更されたためで、追加していると便利程度に考えてください。(笑)
  • export ANDROID_NDK_ROOT=$HOME/android-ndk-r5b
    export ANDROID_SDK_ROOT=$HOME/android-sdk-linux_x86
    export PATH=$ANDROID_SDK_ROOT/tools:$ANDROID_NDK_ROOT:$PATH
    export PATH=$ANDROID_SDK_ROOT/platform-tools:$PATH

  • 編集が完了したらviを終了「[esc]wqコマンド」で書き込み、sourceコマンドで反映させます。
        $ source .bashrc


<Eclipse ADTのインストール>
  • eclipseを起動します。その後、[Help]->[Install New Software...]を選択。

  • [Add]ボタンを押下します。

  • [Name]に「ADT Plugin for Eclipse」を入力し、[Location]に「https://dl-ssl.google.com/android/eclipse/」を入力して[OK]ボタンを押下します。

  • 全て選択して[Next]ボタンを押下し、後はAcceptやAccept Allで完了すれば終わりです。
  • 次に、[Windows]->[Preferrences]を選択します。

  • [SDK Location]にAndroid SDKを展開した場所を設定します。
  • [Windows]->[Android SDK and AVD Manager]を選択して以下の画面を起動します。
    Available Packagesの欄で好きな環境をダウンロードします。一般的には開発したい環境のみダウンロードすると、時間の節約にもなります。

  • 後はVirtual Devicesで利用したいエミュレータ環境を生成すると終了です。
ここまでで、取り敢えずは一般的なAndroid SDK環境は構築完了のはずです。その2は、単にJNI開発環境構築というかJava環境とCDT連携を記載する予定です。

うーん。ちょっと長くなりそうな気がするなぁ。Windows環境ではまだ連携環境を構築していないので、どうするかなぁ・・・

0 件のコメント:

コメントを投稿