今週のレシピでは、Ubuntu上でのAndroid開発環境構築を紹介します。コードのビルドと実行のターゲットには、先週 紹介したIDEOSを使用することにします。
Android SDKのインストール
Androidプログラミングをはじめるためには、Android SDKをインストールする必要があります。Android SDKはAndroid Developersのサイト からLinux用のtarボールをダウンロードして任意のディレクトリに展開してください。
Android SDKのダウンロードと展開
$ wget http://dl.google.com/android/android-sdk_r08-linux_86.tgz
$ tar zxvf android-sdk_r08-linux_86.tgz
SDKの展開が完了したら、ADV Managerを起動します。
ADV Managerの起動
$ cd android-sdk-linux_86/tools
$ ./android
ADV ManagerではAndroid SDKに含まれる、ターゲットとなるAndroidの各バージョンごとのAPIや、サンプルコードなどを個別にインストールすることが可能です。また後述するバーチャルデバイスの作成もここから行います。
「Available packages」を選択し、「 Android Repository」から必要なパッケージを選択しましょう。ここでは「Android SDK Platform-tools, revision 1」と、IDEOSのAndroidバージョンは2.2ですので「SDK Platform Android 2.2, API 8, revision 2」が最低限必要です。ついでにドキュメントやサンプルコードをインストールしておくのもよいでしょう。インストールしたいパッケージにチェックを入れたら、「 Install Selected」をクリックしてください。選択したパッケージの確認画面が表示されたら、「 Accept」を選択して「Install」をクリックします。
図1 ADV Managerで必要なパッケージをインストールする
図2 パッケージの詳細とライセンスを確認する
デバッグモードとパーミッションの設定
開発を行なっていくにあたり、Android端末をデバッグモードで接続しておく必要があります。まず、IDEOS側の「設定」 ->「アプリケーション」 ->「開発」から「USBデバッグ」をONにします。
図3 USBデバッグ接続を有効にする
次に、IDEOSが接続された際のudevのルールを追加します。/etc/udev/rules.d に新規ファイルを作成し、以下のルールを記述します。デフォルトではユーザ権限でIDEOSのデバイスファイルにアクセスすることができませんので、このルールでパーミッションを"666"に指定しています[1] 。
udevのルールを追記して、IDEOSが一般ユーザで操作できるようパーミッションを設定する
$ sudo vi /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1038", MODE="0666"
なお、他のAndroid端末を使う場合は、lsusbコマンドで得られるベンダidとプロダクトidに読みかえてください。例えばSHARPのIS01でしたら以下のようになります[2] 。
SHARP IS01の例
SUBSYSTEM=="usb", ATTRS{idVendor}=="04dd", ATTRS{idProduct}=="9337", MODE="0666"
開発環境の設定
Eclipseのインストール
Android開発には、統合開発環境であるEclipseとプラグインを利用するのが最も簡単です。今回はUbuntuのリポジトリに用意されているEclipse 3.5.2を利用します。
Eclipseのインストール
$ sudo apt-get install eclipse
Pleiadesのインストール
Eclipseを日本語化するため、MergeDoc Project の成果物であるPleiadesを利用します。Pleiadesもパッケージとしてリポジトリに用意されていますので、導入は簡単です。
Pleiadesのインストール
$ sudo apt-get install pleiades
Pleiadesはインストールしただけでは適用されません。/etc/eclipse.ini に設定を追記する必要があります[3] 。
eclipse.iniにPleiadesの設定を追記
$ sudo vi /etc/eclipse.ini
-javaagent:/usr/lib/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
図4 Pleiadesによって日本語化されたEclipse
ADTプラグインのインストール
Eclipseのインストールが完了したら、ADTプラグインをインストール します。Eclipseのメニューの「ヘルプ」 ->「新規ソフトウェアのインストール」 ->「追加」を開き、「 ロケーション」に次のURLを入力してください。「 名前」は任意の名前を入力して構いません。
ADTプラグインのURL
https://dl-ssl.google.com/android/eclipse/
追加が完了したら、「 作業対象」に上記URLを入力してください。インストールできるソフトウェアの一覧が表示されますので、「 Developer Tools」をチェックして「次へ」をクリックします。ライセンスのレビューが表示されますので、ライセンスを確認した上で「使用条件の条項に同意します」を選択して「完了」をクリックしてください。
次に、ADTプラグインの設定を行います。Eclipseのメニューから「ウィンドウ」 ->「設定」 ->「Android」を拓き、「 SDKロケーション」にAndroid SDKを展開したディレクトリを指定して「適用」をクリックします。ディレクトリの指定が適切ならば、インストールされているSDK Platform APIのバージョンが表示されます。
図5 ADTプラグインをEclipseに追加する
図6 Android SDKのロケーションを設定する
プロジェクトの作成とビルド
それでは定番のHelloWorldをチュートリアルにそって 実行してみましょう。Eclipseを起動して「ファイル」 ->「新規」 ->「プロジェクト」 ->「Androidプロジェクト」を選択します。新規Androidプロジェクトのウィザードダイアログが表示されますので、名前やターゲットを指定します。ビルドターゲットはADV Managerでインストール済みのSDK Platform APIが表示されますので、複数のバージョンをインストールしている場合は注意してください。
プロジェクト名 HelloIDEOS
ビルドターゲット Android 2.2
アプリケーション名 Hello, IDEOS
パッケージ名 com.example.helloideos
Create Activity HelloIDEOS
図7 新規Androidプロジェクトを作成する
これでプロジェクトのひな型が作成されました。プロジェクトエクスプローラに「HelloIDEOS」プロジェクトが生成されているのが確認できるはずです。ここから「HelloIDEOS」 ->「src」 ->「com.example.helloideos」 ->「HelloIDEOS.java」を開き、エディタでソースを以下のように修正します[4] 。
package com.example.helloideos;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class HelloIDEOS extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("Hello, IDEOS");
setContentView(tv);
}
}
図8 ひな型のAndroidプロジェクトのソースに修正を加える
ソースの修正が完了したら、プログラムを実行してみましょう。IDEOSがUSBでUbuntuと接続されていることを確認したら、メニューの「実行」 ->「実行」を選択します。実行方法の選択ダイアログが表示されますので「Androidアプリケーション」を選択してください。アプリケーションのビルドとパッケージング、そしてIDEOSへのアップロードとインストールが自動的に行われ、IDEOS上でアプリケーションが起動します[5] 。
図9 Androidアプリケーションとして実行する
図10 IDEOS上で実行されたHelloWorldの例