UbuntuでAndroidアプリ開発環境を作る

ちょっと、USBまわりでMacがハングするのは耐えられないので、Ubuntuに環境作成。
自分メモなので、文字ばかり。他人が読んでもわからないかも。
公式の環境構築手順やマシンスペックはこのあたりに書かれている。
http://developer.android.com/intl/ja/sdk/installing.html
入れたのはこれ。

ビルドしたHello Worldアプリをエミュレータと実機に流しこむところまで。

動作条件

ここにある。
http://developer.android.com/intl/ja/sdk/requirements.html

  • glibc2.7以降

libc6 2.13-0ubuntu13

問題なし。

11.04 Natty Narwhalなので、これも問題なし。

  • 64bit環境の場合は、32bit互換ライブラリ必須

http://developer.android.com/intl/ja/sdk/installing.html#troubleshooting

ia32-libs 20090808ubuntu13

入っている。
なければ、入れる。

$ sudo apt-get install ia32-libs

JDK

Androidのフルビルド環境を入れているマシンなので、JDKは5/6ともに入っている。
推奨は今はsun-java6-jdkになっている。
はやいとこOpenJDKを正式サポートしてほしい。
Ubuntuでのsun-javaパッケージの提供はなくなるそうだ。
http://d.hatena.ne.jp/kinneko/20120113/p31
今後はOracleからバイナリをダウンロードすることになるのだろう。
めんどくさ。


Froyoをビルドする関係で1.5がデフォルトになっている。

kinneko@BuildSV:~$ java -version
java version "1.5.0_22"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03)
Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_22-b03, mixed mode)

1.6になっていないので切り替える。
前に、問題があって、マニュアルでリンク貼り直している。
http://d.hatena.ne.jp/kinneko/20111007/p8
でも、戻さずに実行。

kinneko@BuildSV:~/AndroidDev$ sudo update-java-alternatives -s java-6-sun
update-alternatives: エラー: firefox-javaplugin.so の alternatives がありません。
update-alternatives: エラー: iceape-javaplugin.so の alternatives がありません。
update-alternatives: エラー: iceweasel-javaplugin.so の alternatives がありません。
update-alternatives: エラー: midbrowser-javaplugin.so の alternatives がありません。
update-alternatives: エラー: mozilla-javaplugin.so の alternatives がありません。
update-alternatives: エラー: xulrunner-1.9-javaplugin.so の alternatives がありません。
update-alternatives: エラー: xulrunner-javaplugin.so の alternatives がありません。
update-alternatives: エラー: mozilla-javaplugin.so の alternatives がありません。
update-alternatives: エラー: xulrunner-1.9-javaplugin.so の alternatives がありません。
kinneko@BuildSV:~/AndroidDev$ javac -version
javac 1.6.0_26
kinneko@BuildSV:~/AndroidDev$ ls -l /etc/alternatives/javac
lrwxrwxrwx 1 root root 33 2012-01-12 19:36 /etc/alternatives/javac -> /usr/lib/jvm/java-6-sun/bin/javac

ちゃんと上書きされている。
1.5に戻す時はこれ。

$ sudo update-java-alternatives -s java-1.5.0-sun

Eclipse

3.6 (Helios) 以降推奨。
3.5 (Galileo)はADTの最新版ではサポートしなくなったそう。
Eclipse.orgの配布では、Classicか、JavaかRCPを入れろと書いてある。
パッケージで入れるにはどれを入れればいいのだろう。
パッケージでeclipseを指定すると、関連するものを全部入れようとするようだ。
パッケージで提供されているバージョンは、3.5.2-8ubuntu3。
そもそも、パッケージではダメだった... orz


以下から落とす。
http://www.eclipse.org/downloads/
開くと、最新のIndigo (3.7.1)が表示される。
Indigoでは、なんか問題があると聞いたような....
(Indigoでも新規であれば問題ないと@hideponmさんから報告ありました。)
右下にHeliosへのリンクがあるので押す。
派手な画面になるので、Download Heliosを押す。
先ほどと似たようなダウンロード画面になる。
3.6.2 Sr2が最新。
リンクから、Eclipse Classic 3.6.2, (170 MB)の後ろのLinux 64-bitを選ぶ。
矢印アイコンをクリックしてダウンロード。
Eclipseの64bit版も何かハマりどころがあったような... まぁいいか。
eclipse-SDK-3.6.2-linux-gtk-x86_64.tar.gzが落ちてくる。
~/AndroidDev以下に展開する。

kinneko@BuildSV:~$ mkdir AndroidDev
kinneko@BuildSV:~$ mv eclipse-SDK-3.6.2-linux-gtk-x86_64.tar.gz AndroidDev/
kinneko@BuildSV:~$ cd AndroidDev/
kinneko@BuildSV:~/AndroidDev$ tar zxf eclipse-SDK-3.6.2-linux-gtk-x86_64.tar.gz


日本語化プラグインは入れない。
エラーが出た時、メッセージでぐぐっても、情報が少ないから。


見直すと、troubleshootingの下のほうには、UbuntuはRCP推奨って書いてあるな...
Classic入れちゃったけど、まぁいいや。

eclipseの起動

kinneko@BuildSV:~/AndroidDev/eclipse$ ./eclipse

JAVA_HOMEとかPATHとか設定なしに、普通に起動してきた。
らくちん!
workspaceはデフォルトで。
"Welcome to Eclipse"起動画面が出るので、Workbenchを選ぶ。

ADT Plugin

Eclipseのメニューから、Help > Install New Software....を選ぶ。
Installというウインドウが開く。
右上のAdd...ボタンを押す。
Add Repositoryダイアログが開く。
NameとLocationという項目がある。

を入れて、OKボタンを押して閉じる。


しばらくすると、InstallウインドウのNameのところに"Developer Tools"が表示される。
チェックボックスがあるので、そこにチェックを入れる。
展開してみると、DDMS, Development Tools, Hierarchy Viewer, Traceviewがあるのがわかる。
下のNext>ボタンを押す。


Install Detalsが表示される。先ほどの4つが入っているのがわかる。
さらにNext>ボタンを押す。


Review Licensesが表示される。それぞれのライセンス確認画面。
ApacheBSDのものがあるようだ。確認して、問題なければ、"I accept terms of the license agreements"にチェックを入れる。
Finshボタンに色がつくので、押す。


ダウンロードのダイアログが出て進捗を表示する。
バックグラウンドでダウンロードをさせることもできるが、特に出来ることもないので、そのまま終わるのを待つ。
途中、署名されていないパッケージを導入する注意が出るがOKを押して続ける。


終わると、ダイアログが変わるので、Restart Nowボタンを押して、Eclipseを再起動する。

Android SDKとプラットフォームとコンポーネントの追加

android-sdk_r16-linux.tgzが最新。
http://dl.google.com/android/android-sdk_r16-linux.tgz
個別にダウンロードすることもできるが、ここではADTを使ってインストールする。
そのほうが楽だから。


Eclipseを再起動すると、"Welcome to Android Development"というウインドウが自動で開く。
Install new SDKが選択されていて、"Install the latest avalable version of Android APIs (support all the latest features)"にチェックが入っている。
Next>ボタンでそのまま進む。


Contribute Usage Statistics?ウインドウになる。
Googleに統計情報を提供するかどうかの確認。
お好みで。
普通はNoにチェックを入れて、Finishボタンを押す。


選択したプラグインのダウンロードの進捗ダイアログが出る。
終わると、インストールするパッケージの最終確認が出る。

の3つがある。
Accept All にチェックを入れて、Installボタンを押す。
ダウンロードとインストール中の進捗ダイアログが表示される。


この間、EclipseのConsoleウインドウには、ログが表示されているので、進捗の確認ができる。

[2012-01-12 20:11:45 - SDK Manager] Fetching https://dl-ssl.google.com/android/repository/addons_list-1.xml
[2012-01-12 20:11:47 - SDK Manager] Validate XML
[2012-01-12 20:11:47 - SDK Manager] Parse XML
[2012-01-12 20:11:47 - SDK Manager] Fetched Add-ons List successfully
[2012-01-12 20:11:47 - SDK Manager] Fetching URL: https://dl-ssl.google.com/android/repository/repository-5.xml
[2012-01-12 20:11:52 - SDK Manager] Validate XML: https://dl-ssl.google.com/android/repository/repository-5.xml
[2012-01-12 20:11:52 - SDK Manager] Parse XML:    https://dl-ssl.google.com/android/repository/repository-5.xml
[2012-01-12 20:11:52 - SDK Manager]     Found SDK Platform Android 1.1, API 2, revision 1 (Obsolete)
[2012-01-12 20:11:52 - SDK Manager]     Found SDK Platform Android 1.5, API 3, revision 4
[2012-01-12 20:11:52 - SDK Manager]     Found SDK Platform Android 1.6, API 4, revision 3
[2012-01-12 20:11:52 - SDK Manager]     Found SDK Platform Android 2.0, API 5, revision 1 (Obsolete)
[2012-01-12 20:11:52 - SDK Manager]     Found SDK Platform Android 2.0.1, API 6, revision 1 (Obsolete)
[2012-01-12 20:11:52 - SDK Manager]     Found SDK Platform Android 2.1, API 7, revision 3
[2012-01-12 20:11:52 - SDK Manager]     Found SDK Platform Android 2.2, API 8, revision 3
[2012-01-12 20:11:52 - SDK Manager]     Found SDK Platform Android 2.3.1, API 9, revision 2 (Obsolete)
[2012-01-12 20:11:52 - SDK Manager]     Found SDK Platform Android 2.3.3, API 10, revision 2
[2012-01-12 20:11:52 - SDK Manager]     Found SDK Platform Android 3.0, API 11, revision 2
[2012-01-12 20:11:52 - SDK Manager]     Found SDK Platform Android 3.1, API 12, revision 3
[2012-01-12 20:11:52 - SDK Manager]     Found SDK Platform Android 3.2, API 13, revision 1
[2012-01-12 20:11:52 - SDK Manager]     Found SDK Platform Android 4.0, API 14, revision 3
[2012-01-12 20:11:52 - SDK Manager]     Found SDK Platform Android 4.0.3, API 15, revision 1
[2012-01-12 20:11:52 - SDK Manager]     Found ARM EABI v7a System Image, Android API 14, revision 2
[2012-01-12 20:11:52 - SDK Manager]     Found ARM EABI v7a System Image, Android API 15, revision 1
[2012-01-12 20:11:52 - SDK Manager]     Found Samples for SDK API 7, revision 1
[2012-01-12 20:11:52 - SDK Manager]     Found Samples for SDK API 8, revision 1
[2012-01-12 20:11:52 - SDK Manager]     Found Samples for SDK API 9, revision 1 (Obsolete)
[2012-01-12 20:11:52 - SDK Manager]     Found Samples for SDK API 10, revision 1
[2012-01-12 20:11:52 - SDK Manager]     Found Samples for SDK API 11, revision 1
[2012-01-12 20:11:52 - SDK Manager]     Found Samples for SDK API 12, revision 1
[2012-01-12 20:11:52 - SDK Manager]     Found Samples for SDK API 13, revision 1
[2012-01-12 20:11:52 - SDK Manager]     Found Samples for SDK API 14, revision 2
[2012-01-12 20:11:52 - SDK Manager]     Found Samples for SDK API 15, revision 1
[2012-01-12 20:11:52 - SDK Manager]     Found Android SDK Platform-tools, revision 10
[2012-01-12 20:11:52 - SDK Manager]     Found Android SDK Tools, revision 16
[2012-01-12 20:11:52 - SDK Manager]     Found Documentation for Android SDK, API 15, revision 1
[2012-01-12 20:11:52 - SDK Manager]     Found Sources for Android SDK, API 14, revision 1
[2012-01-12 20:11:52 - SDK Manager]     Found Sources for Android SDK, API 15, revision 1
[2012-01-12 20:11:52 - SDK Manager]     Found Android Support package, revision 6
[2012-01-12 20:11:52 - SDK Manager] Fetching URL: https://dl-ssl.google.com/android/repository/addon.xml
[2012-01-12 20:11:57 - SDK Manager] Validate XML: https://dl-ssl.google.com/android/repository/addon.xml
[2012-01-12 20:11:57 - SDK Manager] Parse XML:    https://dl-ssl.google.com/android/repository/addon.xml
[2012-01-12 20:11:57 - SDK Manager]     Found Google APIs by Google Inc., Android API 3, revision 3
[2012-01-12 20:11:57 - SDK Manager]     Found Google APIs by Google Inc., Android API 4, revision 2
[2012-01-12 20:11:57 - SDK Manager]     Found Google APIs by Google Inc., Android API 5, revision 1 (Obsolete)
[2012-01-12 20:11:57 - SDK Manager]     Found Google APIs by Google Inc., Android API 6, revision 1 (Obsolete)
[2012-01-12 20:11:57 - SDK Manager]     Found Google APIs by Google Inc., Android API 7, revision 1
[2012-01-12 20:11:57 - SDK Manager]     Found Google APIs by Google Inc., Android API 8, revision 2
[2012-01-12 20:11:57 - SDK Manager]     Found Google APIs by Google Inc., Android API 9, revision 2 (Obsolete)
[2012-01-12 20:11:57 - SDK Manager]     Found Google APIs by Google Inc., Android API 10, revision 2
[2012-01-12 20:11:57 - SDK Manager]     Found Google APIs by Google Inc., Android API 11, revision 1
[2012-01-12 20:11:57 - SDK Manager]     Found Google APIs by Google Inc., Android API 12, revision 1
[2012-01-12 20:11:57 - SDK Manager]     Found Google APIs by Google Inc., Android API 13, revision 1
[2012-01-12 20:11:57 - SDK Manager]     Found Google APIs by Google Inc., Android API 14, revision 2
[2012-01-12 20:11:57 - SDK Manager]     Found Google TV Addon by Google Inc., Android API 12, revision 2
[2012-01-12 20:11:57 - SDK Manager]     Found Google APIs by Google Inc., Android API 15, revision 1
[2012-01-12 20:11:57 - SDK Manager]     Found Google Market Licensing package, revision 1
[2012-01-12 20:11:57 - SDK Manager]     Found Google USB Driver package, revision 4
[2012-01-12 20:11:57 - SDK Manager]     Found Google Market Billing package, revision 1
[2012-01-12 20:11:57 - SDK Manager]     Found Google Admob Ads Sdk package, revision 4
[2012-01-12 20:11:57 - SDK Manager]     Found Google Analytics Sdk package, revision 2
[2012-01-12 20:11:57 - SDK Manager]     Found Google Webdriver package, revision 2
[2012-01-12 20:11:57 - SDK Manager] Fetching URL: http://www.echobykyocera.com/download/echo_repository.xml
[2012-01-12 20:11:58 - SDK Manager] Validate XML: http://www.echobykyocera.com/download/echo_repository.xml
[2012-01-12 20:11:58 - SDK Manager] Parse XML:    http://www.echobykyocera.com/download/echo_repository.xml
[2012-01-12 20:11:58 - SDK Manager]     Found Dual Screen APIs by KYOCERA Corporation, Android API 8, revision 1
[2012-01-12 20:11:58 - SDK Manager]     Found Dual Screen APIs by KYOCERA Corporation, Android API 10, revision 1
[2012-01-12 20:11:58 - SDK Manager] Fetching URL: http://developer.lgmobile.com/sdk/android/repository.xml
[2012-01-12 20:11:59 - SDK Manager] Validate XML: http://developer.lgmobile.com/sdk/android/repository.xml
[2012-01-12 20:11:59 - SDK Manager] Parse XML:    http://developer.lgmobile.com/sdk/android/repository.xml
[2012-01-12 20:11:59 - SDK Manager]     Found Real3D by LGE, Android API 10, revision 1
[2012-01-12 20:11:59 - SDK Manager]     Found Real3D by LGE, Android API 8, revision 1
[2012-01-12 20:11:59 - SDK Manager] Fetching URL: http://android-sdk-addons.motodevupdate.com/addons.xml
[2012-01-12 20:12:02 - SDK Manager] Validate XML: http://android-sdk-addons.motodevupdate.com/addons.xml
[2012-01-12 20:12:02 - SDK Manager] Parse XML:    http://android-sdk-addons.motodevupdate.com/addons.xml
[2012-01-12 20:12:02 - SDK Manager]     Found ADMIRAL by Motorola Mobility, Inc., Android API 10, revision 5
[2012-01-12 20:12:02 - SDK Manager]     Found ATRIX2 by Motorola Mobility, Inc., Android API 10, revision 1
[2012-01-12 20:12:02 - SDK Manager]     Found XT862 by Motorola Mobility, Inc., Android API 10, revision 6
[2012-01-12 20:12:02 - SDK Manager]     Found Droid4 by Motorola Mobility, Inc., Android API 10, revision 1
[2012-01-12 20:12:02 - SDK Manager]     Found DroidRAZR by Motorola Mobility, Inc., Android API 10, revision 3
[2012-01-12 20:12:02 - SDK Manager]     Found DroidX2 by Motorola Mobility, Inc., Android API 10, revision 1
[2012-01-12 20:12:02 - SDK Manager]     Found MT917 by Motorola Mobility, Inc., Android API 10, revision 1
[2012-01-12 20:12:02 - SDK Manager]     Found MotorolaPro+ by Motorola Mobility, Inc., Android API 10, revision 2
[2012-01-12 20:12:02 - SDK Manager]     Found XOOM2 by Motorola Mobility, Inc., Android API 13, revision 1
[2012-01-12 20:12:02 - SDK Manager]     Found XOOM2ME by Motorola Mobility, Inc., Android API 13, revision 1
[2012-01-12 20:12:02 - SDK Manager]     Found XT882 by Motorola Mobility, Inc., Android API 10, revision 1
[2012-01-12 20:12:02 - SDK Manager]     Found defy+ by Motorola Mobility, Inc., Android API 10, revision 1
[2012-01-12 20:12:02 - SDK Manager]     Found Bionic by Motorola Mobility, Inc., Android API 10, revision 2
[2012-01-12 20:12:02 - SDK Manager]     Found MT870 by Motorola Mobility, Inc., Android API 10, revision 1
[2012-01-12 20:12:02 - SDK Manager]     Found PHOTON by Motorola Mobility, Inc., Android API 10, revision 1
[2012-01-12 20:12:02 - SDK Manager]     Found XOOM by Motorola Mobility, Inc., Android API 11, revision 2
[2012-01-12 20:12:02 - SDK Manager] Fetching URL: http://innovator.samsungmobile.com/android/repository/repository.xml
[2012-01-12 20:12:04 - SDK Manager] Validate XML: http://innovator.samsungmobile.com/android/repository/repository.xml
[2012-01-12 20:12:04 - SDK Manager] Parse XML:    http://innovator.samsungmobile.com/android/repository/repository.xml
[2012-01-12 20:12:04 - SDK Manager]     Found GALAXY Tab by Samsung Electronics., Android API 8, revision 1
[2012-01-12 20:12:04 - SDK Manager] Fetching URL: http://developer.sonyericsson.com/edk/android/repository.xml
[2012-01-12 20:12:07 - SDK Manager] Validate XML: http://developer.sonyericsson.com/edk/android/repository.xml
[2012-01-12 20:12:07 - SDK Manager] Parse XML:    http://developer.sonyericsson.com/edk/android/repository.xml
[2012-01-12 20:12:07 - SDK Manager]     Found EDK 1.2 by Sony Ericsson Mobile Communications AB, Android API 10, revision 1
[2012-01-12 20:12:07 - SDK Manager] Done loading packages.
[2012-01-12 20:15:24 - SDK Manager] Preparing to install archives
[2012-01-12 20:15:24 - SDK Manager] Downloading Android SDK Platform-tools, revision 10
[2012-01-12 20:16:17 - SDK Manager] Installing Android SDK Platform-tools, revision 10
[2012-01-12 20:16:17 - SDK Manager]   Stopping ADB server failed (code -1).
[2012-01-12 20:16:17 - SDK Manager]   Installed Android SDK Platform-tools, revision 10
[2012-01-12 20:16:17 - SDK Manager] Downloading Android SDK Tools, revision 16
[2012-01-12 20:18:26 - SDK Manager] Installing Android SDK Tools, revision 16
[2012-01-12 20:18:27 - SDK Manager]   Installed Android SDK Tools, revision 16
[2012-01-12 20:18:27 - SDK Manager] Downloading SDK Platform Android 4.0.3, API 15, revision 1
[2012-01-12 20:22:43 - SDK Manager] Installing SDK Platform Android 4.0.3, API 15, revision 1
[2012-01-12 20:22:45 - SDK Manager]   Installed SDK Platform Android 4.0.3, API 15, revision 1
[2012-01-12 20:22:45 - SDK Manager]   Stopping ADB server succeeded.
[2012-01-12 20:22:48 - SDK Manager]   Starting ADB server succeeded.
[2012-01-12 20:22:48 - SDK Manager] Done. 3 packages installed.

ダイアログが消えて、最後にDoneが出ていれば成功。


Eclipseのメニューから、Window > Android SDK Managerを選択する。
先ほどインストールされたものと、まだインストールされていないものが確認できる。
このメニューに出てこない場合は、単独で、tools/androidコマンドで見ることもできる。


エミュレータで使う"ARM EABI v7a System Image"が不足しているので、すでに自動でチェックが付いている。
これは、前はなかったような。
あとは、以下を追加する。

作成するアプリケーションでの必要に応じて、以下も入れておくといいだろう。

ここでは入れないで進む。
Google USB Driver packageは、Windows専用なので、入れる必要はない。


右下の、Install 3 packages... ボタンを押してインストールする。
先ほど同様に最終確認ダイアログが出る。
Accept Allにチェックを入れて、Installボタンを押す。
ダウンロードが終わっても、画面がリフレッシュされない。
落とす前と落とした後のが併存している。こんなもんか?
ウインドウの一番下には、"Done loading packages."と出ているだけ。
SDK Managerの窓を閉じて再度開くと反映されている。

エミュレータのデバイスプロファイル作成

Android Virtual Deviceで設定する。
Window->AVD Managerを起動する。
ウインドウ右上のNew...ボタンを押す。
Name: API15 (なんでもよい)
Target: Android 4.0.3-API Level 15 (これしか入れていないので、これ以外選択できない)
CPU/ABI: ARM (armeabi-v7a) これしか入れていないので自動表示。選択もできない。
SD Card: 1 GiB とりあえず適当に
Snapshot: Enableにチェックしない
Skin: WXGA720, WVGA800, WSVGA, WVGA854, WQVGA432, QVGA, WQVGA400, WXGA800, HVGAから選択。デフォルトはWVGA800。数値入力で解像度指定もできる。
Hardware: 自動で、Abstracted LCD Density 240, Max VM application h 48, Devise ram size 512が設定されている。そのまま使う。
一番下にCreate AVDというボタンがあるので押す。


終わると、一覧に追加されている。緑のチェックが先頭についていれば起動できる。
選択してStart... ボタンで起動してみる。
Launch Optionsというダイアログが開く。
そのまま、Launchボタンを押す。
起動してくるが、かなり速いマシンを使っていてもUIの反応が遅かったりする。
やはり実機でないと開発は難しいね。
電源を切るのもなんだか遅い。
というか切れない。
ウインドを閉じた。

Eclipseエディタの文字コードの設定(不要だった)

テスト用のアプリを仕込む前に、Eclipseのエディタの文字コードを設定をしておく。
エディタの文字コードをUTF8にしておく。
Window>Preferencesを選択。
Generalの下にあるWorkspaceを選ぶ。
Text file encordingの項目は、デフォルトでUTF-8になっていた。
Linux環境だからかな?
OKを押して閉じる。

パッケージのビルドと仮想マシンでの起動テスト

FileOther... を開く。
Select a wizadのAndroidの下にあるAndroid Projectを選び、Next>ボタンを押す。


New Android Projectウインドウになる。
Project Nameにアプリ名を入れる。
HelloWorldで。
チェックは"Create new project in workspace"とUse default locationに。
そのままNext>を押す。


Choose an SDK to targetになる。
1つしか入れていないので、4.0.3 Lvel15しか出ない。
そのままNext>を押す。


Application Infoになる。
Application Nameは前に決めたHelloWorldだ。変更ないのでそのまま。
Package Nameは、com.kinneko.exsample.helloworldにしておく。
Create Activityは、デフォルトのままアプリ名+Activityになっている。
Minimum SDKは、15になっているが、最低動作するSDK Levelを入れる。
レベルについては、このへんに書いてある。
http://developer.android.com/intl/ja/guide/appendix/api-levels.html
とりあえず今だとAndroid 2.2(Froyo)の8くらいか。
Finishボタンを押す。


EclipseのPackage ExplorerにHelloWorldが表示される。
ソースコードは、src/com.kinneko.exsample.helloworld/HelloWorldActivity.javaにあるので、これをクリックする。
中央のエディタにテンプレートで自動生成されたソースが表示される。


このソースは、そのままビルドできるので、ビルドしてみる。
メニューからRun>Runを選ぶか、アイコンから、緑の丸に右三角のボタンを押す。
Run asダイアログが表示されるので、Android Applicationを選んでOKボタンを押す。
先ほど設定したエミュレータが起動してくる。
スリープを解除する。
そこに黒い画面で"Hello World, HelloWorldActivity!"と表示されていれば成功だ。
Eclipseは、エミュレータを起動し、そこに作成したアプリケーションを転送して起動するまでやってくれる。


Homeボタンでホームに戻り、アプリ一覧を出すと、四角いAndroidアイコンでHelloWorldというアプリがインストールされているのがわかる。

実機でのテスト

USBに実機をつなぐ。
デバッグモードがオンになっていなければオンにしておく。
先ほどのソースを開いたまま、Runすると、Android Device Chooserが表示される。
USBで接続されたデバイスが見える。
Windows環境と比べて、VID/PIDを設定したり、専用のドライバを入れなくていいのは楽だ。
たまたまテストに使ったIS06が設定しやすいだけだけかもだけど。
選んでやると、今度はエミュレータが起動しないで、実機のほうにアプリが転送される。
エミュレータと比べると、スピードの違いは明らか。



これで、開発環境のインストールとテストは終わり。
Ubuntuでやると案外簡単だった。
以前に比べて、Eclipseの中から何でもできるようになっているのがいい。
Macでは同様に簡単だけど、Windowsではいろいろ苦労した記憶があるのだけど。
最近、Windowsではどうなのだろう... なんて使わないので気にならないが。
そういえば、環境変数設定や、Path設定すらしていないな。
らくちんらくちん。
あと、エミュレータは速いマシンでも使えないのは確認できた。