Ubuntu10.04 LinuxにAndroid SDK/NDK環境 – 実機動作確認まで –


Ubuntu環境を使用して、Androidアプリの開発環境と実機(GalaxyS)での動作確認まで行ったので備忘録として記載します。当初はWindows環境でcygwinを使い環境構築していましたが、以下2つの理由でUbuntu環境に急遽変更し、環境構築しました。尚、インストールする環境はVMware Player上にUbuntu linux(仮想サーバ)を入れたものです。

  1. 私が必要としていたソースでのコンパイル実績がLinux環境のみだった。
  2. AndroidはLinuxの派生らしく、Linux環境の方がさまざまなOSSライブラリ(ffmpegなど)をAndroidへ移植しやすいと思った。

仮想環境(VMware Player)取得

仮想サーバ構築とインストール -VMware Player3.0 (CentOS5.4)-を参照してください。VMware Player3.0ダウンロードとインストールまではこちらの手順です。

仮想OS(Ubuntu)取得

仮想化デスクトップでLinux – VirtualBox AND Ubuntu-を参照してください。UbuntuはOSイメージが配布されています。

Ubuntuのバージョンアップ

Ubuntu8.04のイメージの方は、9.xxか10.xxにアップグレードしてください。Android SDKはEclipse3.5(Galireo)以上が対象で、Ubuntu9.xxではEclipse3.2が対応バージョンとなっている為です。バージョンアップ手順はこちらに記載されています。

Eclipseのインストールとバージョンアップ

[システム]-[システム管理]-[synapticパッケージマネージャー]から起動します。

UbuntuにAndroid開発環境構築

基本的にはWindowsの構築『おいしいアプリその1』とほぼ同様手順となります。

以下はUbuntu上で行います。

Eclipseインストール

UbuntuへのEclipse3.5(Galireo)のインストール手順はこちら。ついでに日本語化しておくと後々便利です。

※Eclipseは3.5(Galireo)以上、JDKは1.5以上、Ubuntuは9.xx以上

Android SDKとNDK

参考サイト:

  • http://techbooster.jpn.org/environment/492/
  • http://techbooster.jpn.org/environment/824/
  • http://www.usefullcode.net/2010/12/android_sdk_inst05.html
  • http://srvhat09.blogspot.com/2011/02/android-jni-eclipse-cdt-ubuntu-1010.html

ダウンロード

基本的には上記参考サイトと同様ですが、今回はNDKも設定するので、追記しておきます。アンドロイドSDKをアンドロイドディベロッパーサイトよりダウンロードします。ついでにNDKもダウンロードしておきます。

cd ~
mkdir android
cd android
wget http://dl.google.com/android/android-sdk_r10-linux_x86.tgz
tar -xvof android-sdk_r10-linux_x86.tgz
mv android-sdk_r10-linux_x86 android-sdk
wget http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2
tar -xvof android-ndk-r5b-linux-x86.tar.bz2
mv android-ndk-r5b-linux-x86.tar.bz2 android-ndk

以下のようにパスを通します。「~/」部分はユーザホームの絶対パスになるので置き換えてください。

vi ~/.bashrc

### Android SDK用
export PATH=${PATH}:~/android/android-sdk/tools
export PATH=${PATH}:~/android/android-sdk/platform-tools

### Android NDK用
export ANDROID_NDK_ROOT=~/android/android-ndk
export PATH=$PATH:$ANDROID_NDK_ROOT

設定の反映

source ~/.bashrc

ADTとAndroid SDKインストール

EclipseからADTの追加インストールを行い、Android SDKインストールをします。
これは、参考サイトこちらのADTインストールとAndroid SDKインストールを参考にしてください。

ADTインストール時に、正常インストールできない場合があります。その場合は、locationを変更します。

変更前
https://dl-ssl.google.com/android/eclipse/
変更後
http://dl-ssl.google.com/android/eclipse/

Eclipseプラグインインストール

Android NDK用の設定を行います。

Android USBドライバセットアップ

参考サイト:

  • https://groups.google.com/group/android-group-japan/browse_thread/thread/93f5e7ca26aa6f71?pli=1&hl=ja
  • http://developer.android.com/intl/ja/guide/developing/device.html#setting-up

Linuxの開発環境の場合「Android SDK and AVD Manager」にはGoogle USBドライバーはないようです。以下手順でUSBドライバーをセットアップします。

  1. AndroidManifest.xmlファイルで、<application>要素にandroid:debuggable=”true” を加える。
  2. 端末をUSBデバッグモードにする(menu – 設定 -アプリケーション – 開発を選択して、USBデバッグを有効化)
  3. rulesファイルの作成
    $ sudo vi /etc/udev/rules.d/51-android.rules 
    #内容(GalaxyS/T01:REGZA-PHONE)
    SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666" 
    SUBSYSTEM=="usb", SYSFS{idVendor}=="0930", MODE="0666" 
    $ sudo chmod a+rx /etc/udev/rules.d/51-android.rules 
    $sudo adb devices # デバイス確認(Setup)
    

    実効権限付与

    chmod a+r /etc/udev/rules.d/51-android.rules
    

    SYSFS{idVendor}については各デバイス毎にVenderIDが異なるので別途設定してください。

  4. 実機をデバッグモードに切替え(GalaxySの場合:設定-アプリケーション-開発で設定できる)、USBケーブルで開発PCと接続後、Android SDKのplatform-tools/adbを利用してデバイス接続する。
    adb devices

Hello jniを試す

実機をUSBケーブルにて接続したまま、Eclipseの新規プロジェクト作成からndkに付属されているサンプル「Hello jni」をプロジェクトとして引き込み実行します。以上で実機動作確認まで終了です。