

アンドロイドアプリができるまで:002
アンドロイドファンの皆様、こんにちは。タオソフトウェアのため吉です。この連載では、Androidのアプリケーションが一体どうやってつくられているのか、その工程をお伝えしていこうと思っています。
さて、前回はEclipseのインストールまで行いました。今回はSDK(ソフトウェア開発キット)をEclipseに組み込んで開発環境構築を完了させ、Hello Worldを起動させてみようと思います。
目次
SDKインストール
SDK自体は、前回アーカイブを解凍してアプリケーションフォルダに配置済みです。次に何をすれば良いのでしょうか?。SDKのインストールガイドを見てみましょう。


SDKのtoolsディレクトリをPATHに追加
「SDKのtoolsディレクトリをPATHに追加しても良いですよ」と書いてあるようです。これをしておくと、Androidのコマンドラインツール達を使用する際に、フルパス指定しなくても済むということです。私の環境(Mac OS X)の場合は、ログインユーザの.bash_profileを編集せよとのこと。vi を起動して、以下の1行を追加しました。
export PATH=$PATH:/Applications/android-sdk-mac_86/tools
これでよし、です。
ADTプラグインのインストール
次はADTプラグインのインストールです。インストールガイドによると、ADT=Android Development Tools (アンドロイド開発ツール)だそうです。ADTプラグインは、このADTをEclipseから使用できるようにするもの。これをインストールすることで、先ほど設定したコマンドラインツールをEclipseから実行できるようになるという訳です。早速、EclipseにADTプラグインを組み込んでみましょう。ADTプラグインのインストールガイドを見てみます。
Eclipse3.4用と3.5用の手順が並んでいます。私の環境は3.5なので、以下の手順で進めて行きます。
- Eclipseを起動して, Helpメニューから Install New Software を選択
- Available Software ダイアログが表示されたら、[Add….] をクリックする。
- Add Site dialog が表示されたら、リモートサイトの名前をNameフィールドに入力する(”Android Plugin” みたいな感じに)。
Locationフィールドには以下の URLを入力する。
https://dl-ssl.google.com/android/eclipse/
注意:もし上手くいかなかったら”https”を”http”にかえて試してみる。
[OK] をクリックする。 - Available Software ダイアログに戻ると、リスト上に”Developer Tools”という上が追加されているはず。
この行のチェックボックスをチェックすることで、これ以下の階層にある Android DDMS とAndroid Development Tools もチェックされる。 [Next] をクリックする。 - インストール実行され、結果が Install Details dialogに表示される。 Android DDMS と Android Development Tools がリストされているはず。 [Next] をクリックして使用許諾に合意し、[Finish]をクリック。インストール処理が開始される。
- Eclipseを再起動する。
ちなみに手順4で[Next]をクリックした後の画面はこんな感じになりました。


Finish をクリックしてインストールを実行
ここで [I accept the… ]にチェックを入れて[Finish]ボタンをクリックすると、インストールが開始されます。私の場合、インストール中にワーニングが表示されました。


インストール中にWarningが発生
署名のないコンテンツがあるけど、インストールを続行しますか?というような内容ですが、この場合は特に問題ないのですが、自己責任で[OK]をクリックして続行しました。インストールが完了すると、こんな画面が表示されます。


ADTプラグインのインストールが完了
Eclipseの再起動がお勧めだけど、Apply Changesをクリックすれば再起動なしで変更を適用できます。再起動しますか?と書かれています。お勧めに従って[Yes]をクリックしてEclipseを再起動しました。無事にEclipseが起動したことを確認してADTプラグインのインストールは完了です。
パッケージのインストール
この段階で一度、ターミナル(Windowsではコマンドプロンプト)を起動して android と入力してみましょう。


ターミナルでandroidを実行
パスがきちんと設定されていれば、下のような画面が表示されるはずです。インストール可能なパッケージを確認するために、[Available Packages]をクリックしてみます。


Android SDK and AVD Managerが起動
Available Packages をクリックすると、既定のサイトへ接続します。状況によりますが、httpsでのサイト接続に失敗してエラーが表示される場合もあります(私の場合、何度やってもエラーになりました)。


httpsでサイト接続するとエラーになってしまう
そんな時には、httpsの部分をhttpに書き換えてトライしてみましょう。[AddSite]をクリックして、httpをhttpsに変更しただけのサイトを追加します。三角マークをクリックしてツリーを開くと、パッケージが一覧されます。


パッケージ一覧を取得
APIに、3、4、5、6、7と種類があります。どれを選べば良いのか悩ましいところです。各パッケージの位置づけを確認してみましょう。
Platform Version | API Level |
---|---|
Android 2.1 | 7 |
Android 2.0.1 | 6 |
Android 2.0 | 5 |
Android 1.6 | 4 |
Android 1.5 | 3 |
Android 1.1 | 2 |
Android 1.0 | 1 |
リリースされている端末に合わせるという意味でレベル3以降のAPIは必要と思います。USBドライバも必須です。チェックボックスを全部ONにして[Install Selected]をクリックします。


全て必要なので全選択
使用許諾を求められるので、[Accept All]します。[Install Accepted]をクリックするとインストールが開始されます。


パッケージのインストール
インストールが完了するとADB(Android Debug Bridge)の再起動を求められるので再起動します。


ADBの再起動
ダイアログに ADB: *daemon started successflly*とメッセージが出たらインストール完了です。


パッケージのインストールが完了
仮想デバイスの作成
アンドロイドアプリをテスト実行する環境として、仮想デバイスを作成します。マニュアルには、仮想デバイスをコマンドラインから作成する方法が紹介されています。ターミナルを起動して、以下のコマンドを打ち込みます。
android create avd -n <name> -t <targetID> [-<option> <value>] …
name は 作成する仮想デバイスの名前、targetID はOSのバージョンを表すIDです。自分の開発環境に合わせて指定します。仮想デバイスを作成するためには、targetIDを指定することが必要ですが、何を指定できるかは、先ほどインストールしたパッケージの数に依存します。以下のコマンドを使って、指定できるIDが何かを調べます。
android list target
私の環境での実行結果を抜粋します(本当の出力は100行くらいになります)。
id: 1 or “android-2”
Name: Android 1.1
id: 2 or “android-3”
Name: Android 1.5
id: 3 or “android-4”
Name: Android 1.6
id: 4 or “android-5”
Name: Android 2.0
id: 5 or “android-6”
Name: Android 2.0.1
id: 6 or “android-7”
Name: Android 2.1
id: 7 or “Google Inc.:Google APIs:3”
Name: Google APIs
Based on Android 1.5 (API level 3)
ここでは、id 3、Andoroid1.6の仮想デバイスを作成することにします。android16という名前で仮想デバイスを作成してみます。
android create avd -n android16 -t 3
とコマンドを入力すると、
Android 1.6 is a basic Android platform.
Do you wish to create a custom hardware profile [no]
と確認を求めてきます。これは「アンドロイド1.6のプラットフォームで仮想デバイスを作ります、良いですか?」という意味ですので、そのままEnterを入力します。
Created AVD ‘android’ based on Android 1.6, with the following hardware config:
hw.lcd.density=160
とメッセージが表示されれば、仮想デバイスの作成は終了です。
最後に、Eclipse の環境設定でAndroid SDKのパスを指定してあげましょう。Eclipseを起動し、Preferenceメニューを選択します。表示されたダイアログの [SDK Location] の部分に Android SDK のパスを設定します。
ここでは、「/Applications/android-sdk-mac_86」を設定しています。


Eclipseの環境設定でAndroid SDKのパスを設定
パスを設定したら[OK]をクリックしてダイアログを閉じます。準備にかなり長い時間をかけましたが、これでようやくアンドロイドアプリを作成する準備が整いました。
いよいよ 最初のプログラム
まずはプログラミングの最初の一歩、いわゆる「Hello World」から。画面上に文字列を表示させる、という最も基本的なプログラムで、ほとんどのプログラマがここから開発を始めていると思います。表示させる文字列は「Hello World」が決まり文言のようになっていますが、今回はAndroidアプリの開発ということで、「Hello,Android」と表示してみましょう。
Androidアプリケーションを作る作業は、以下のような流れで行われます。
- プロジェクトの作成
- ソースコード作成
- ビルド
- 出来上がったプログラムをテスト(問題が有れば2に戻ってソースコードを修正する)
- 問題がなくなったら出来上がり
順を追ってみて行きましょう。
新規 Android プロジェクトを作成
Eclipse の[File] > [New] > [Android Project] を選択します。表示されたダイアログに以下のように入力します。
・プロジェクト名(Project name): HelloAndroid
・アプリケーション名(Application name): Hello, Android
・パッケージ名(Package name): com.example.helloandroid(または自分のプライベート ネームスペース)
・アクティビティを作成(Create Activity): HelloAndroid
・SDK の最小バージョン(Min SDK Version): 4 (SDK 1.6 を指定しています)
以下のような感じに入力します。


新規Androidプロジェクトを作成
[Finish]をクリックします。
EclipseのPackage Explorer でソースコードを見てみましょう。
「HelloAndroid」 > 「src」 > 「com.example.helloandroid」 の中にある HelloAndroid.java を開いてみます。以下のようなソースコードが表示されると思います。


手を入れる前のHello Androidのソースコード
UI(ユーザインターフェース)の構築
続いてUIを構築していきます。「Hello World」に従ってソースコードを変更して行きましょう。こんな感じになるはずです。


修正したHello Androidのソースコード
ソースコードの変更が完了したら、プログラムを実行してみます。
[Run] メニューから [Run As]を選択します。どのモードで起動するか選択するダイアログが表示されますので、Android Applicationを選択します。


プログラムを何で実行するかを選択
実行が開始されるとエミュレータが自動的に起動します。アプリケーション Hello,Androidが実行され、以下のような画面が表示されれば成功です。


Hello Androidの完成
長い戦いでしたね。お疲れさまでした。単純なアプリケーションですが、世の中のAndroidアプリケーションは皆、こんなところから開発が始まるのです。単純に文字列を表示するだけのアプリも、あんな事やこんな事もできるアプリケーションも皆スタートは同じです。後は処理を書き加えて行くだけです。がんばりましょう!!
次回からは、いよいよ具体的なアプリ開発の工程をご紹介。タオソフトウェアの新規アプリ開発プロジェクトを密着取材(?)したいと思っています。お楽しみに!