LECTURE 1 開発環境を用意する

○ はじめに

何はともあれ、開発環境が無ければ話になりません。ここでは、Android SDK を用意してエミュレータでアプリケーションを実行する所までを説明します。

○ SDK のダウンロード

Android SDK を Android Developersからダウンロードします。ページ下の「Get the SDK」ボタンをクリックするとGet the Android SDKページに移ります。ここで「Download the SDK ADT Bundle for ...」(...はご利用OSが入ります。WindowsとかLinuxとか)をクリックして、Terms and Conditions を受け入れて 32bit か 64bit を選択して Download ボタンをクリックすると、adt-bundle--<os_platform>-yyyymmdd.zip のダウンロードが始まります。2013年7月22日時点では yyyymmdd は 20130717 でした。

○ 必要なシステム環境

本文書で扱う SDK Tools 22.0.4 (API level 17)(2013/7版) / プラットフォーム Android 2.4 で必要とするシステム環境は下記です(Get the Android SDKページのSYSTEM REQUIREMENTSによる)。

  • Windows XP ( 32bit )、Vista ( 32 or 64bit )、Windows 7 ( 32 or 64 bit )
  • Mac OS X 10.5.8 以降(x86 のみ)
  • Linux(Unubtu、Lucid Lynx でテスト済み)
    • glibc 2.7以降
    • Ubuntu の場合は 8.04以降
    • 64bit ディストリビューションの場合は 32bitアプリケーションが動作可能であること
  • JDK6
  • Apache Ant 1.8 以降
  • gcj は使えない

○ SDK のインストール

SDK のインストールは簡単です。

まず、ダウンロードした SDK をインストールしたい場所に展開します。展開したディレクトリを以後 $SDK_ROOT と呼びます。$SDK_ROOT/sdk/tools、$SDK_ROOT/sdk/platform-tools に格納されているツールを開発に使用しますので、$SDK_ROOT/sdk/tools、$SDK_ROOT/sdk/platform-tools をパスに設定しておいてください。

○ SDK Manager

コマンドプロンプトで下記を実行すると、SDK Manager というツールが起動します。

android sdk

SDK Manager
SDK Manager

インストール状況の確認や、パッケージのインストール/アンインストール等の作業が一通り出来るツールになっています。本サイトではしばらく使いませんが、必要時には情報を追記したいと思います。

○android create project コマンドによるプロジェクト作成

Eclipse を使わずにコマンドラインで Android アプリケーションを作成するためには、android create project というコマンドでプロジェクトを作成します。

その前に、まず下記コマンドを実行して、お使いの環境で利用可能な Android プラットフォームを調べます。

android list targets

  

自分の環境(Linux上)では↓の様に表示されました。

Available Android targets:
  ----------
  id: 1 or "android-17"
       Name: Android 4.2.2
       Type: Platform
       API level: 17
       Revision: 2
       Skins: WVGA800 (default), WXGA720, WXGA800-7in, WSVGA, HVGA, WQVGA400, WQVGA432, WXGA800, WVGA854, QVGA
       ABIs : armeabi-v7a
  

環境によっては複数表示されたりすると思いますが、これから作成するプロジェクトをどのターゲット用に作るかを決めなければいけません。決めたらその id 値(ここの例では 1 もしくは android-17 という名前)を覚えておきます。

次に、今の id 値、アプリケーション名、プロジェクトファイルを作成する場所、Activity (メインクラス。UI を表示可能)の名称、パッケージ名を指定して、android create project コマンドを以下の様に実行します。

android create project --target <target-id> --name アプリケーション名 \
  --path プロジェクトファイル作成パス --activity Activity名 --package Activityが属するパッケージ名

android create project コマンドが成功すると、以下の様なファイルツリーが作成されます。AndroidManifest.xml はアプリケーション全体の設定ファイルで、main.xml/strings.xml はリソース定義ファイルです。この辺りについては、いずれ説明する予定です。

  • プロジェクトファイル作成パス
    • AndroidManifest.xml
    • ant.properties
    • bin/
    • build.xml
    • libs/
    • local.properties
    • proguard-project.txt
    • project.properties
    • res/
      • drawable-hdpi/ic_launcher.png
      • drawable-ldpi/ic_launcher.png
      • drawable-mdpi/ic_launcher.png
      • drawable-xhdpi/ic_launcher.png
      • layout/main.xml
      • values/strings.xml
    • src/your/package/name/ActivityName.java

ant debug (デバッグ用ビルド) を実行するとアプリケーションがビルドされ、bin フォルダ内に <アプリケーション名>-debug.apk というファイルが出来ます。これがアプリケーションコードと画像等のリソース等を一つにまとめたパッケージファイルとなります。リリースビルドの場合は -debug が取れると思いますが、まだやったことないので後日記載します。

○ Android Virtual Device (AVD) の作成

さて、作ったアプリケーションは実機かエミュレータかで動作確認する必要があります。自分、Android の実機を持ち合わせていないので…^^;本サイトでは基本的にエミュレータで動作確認することにします。

エミュレータ上でアプリケーションを動かすためには、まず初めに Android Virtual Device (AVD) を作成する必要があります。GUI操作で作成するには、コマンドプロンプトで下記を実行して AVD Manager を起動します。

android avd

AVD Manager
AVD Manager

AVD Manager 上で「New」ボタンをクリックすると、新規作成ダイアログが表示されます。

AVD の新規作成ダイアログ
Creating New AVD.

AVD Nameにこれから作るAVDの名前を入力し、Device、Target、CPU/ABI を選択すれば「OK」ボタンがクリック出来る様になります。後は必要に応じてSD Cardサイズ等の他の設定を行うことも可能です。

Device は下記から選択できます。

  • Nexus 4
  • Nexus 10
  • Nexus 7
  • Galaxy Nexus
  • Nexus S
  • Nexus One
  • 10.1" WXGA
  • 7.0" WSVGA
  • 5.4" FWVGA
  • 5.1" WVGA
  • 4.7" WXGA
  • 4.65" 720p
  • 4.0" WVGA
  • 3.7" FWVGA
  • 3.7" WVGA
  • 3.4" WQVGA
  • 3.3" WQVGA
  • 3.2" QVGA
  • 3.2" HVGA slider
  • 2.7" QVGA slider
  • 2.7" QVGA

Targetは、ご利用の環境にインストールされている Android プラットフォームが選択可能です(著者環境では Android 4.2.2 - API Level 17)。CPU/ABI は、著者環境では ARM (armeabi-v7a) あるいは Intel Atom x86 が利用可能でした。ここまでを選択すると、Memory Options の値がデフォルトで設定される様です。

なお、Android のエミュレータは起動に時間がかかります。Emulation Options の Snapshot をチェックしておくと、スナップショットからの起動が可能となります。初回起動時はスナップショットが無いので時間がかかりますが、次回以降は起動までの時間が短縮されます。

作成した AVD に関するファイルは、デフォルトでは下記に格納されます。ファイルには <AVD_name>.ini、AVD 設定ファイル、ユーザデータイメージファイル、SDカードイメージファイル等があります。

  • ~/.android/avd/ (Linux/Mac)
  • C:\Documents and Settings\<user>\.android\ (Windows XP)
  • C:\Users\<user>\.android\ (Windows 7/Vista)

ちなみに、これらの操作をコマンドラインでやる場合は、下記のコマンドを実行します。

(AVD作成)
anroid create avd -n <name> -t <targetID> [-<option> <value>] ...

(AVD削除)
android delete avd -n <name>

○ エミュレータの起動およびアプリケーションの実行

さて、先ほど作成した AVD を使ってエミュレータを実行してみます。

AVD Manager から起動する場合、AVD を選択して「Start」ボタンをクリックします。すると Launch Options ダイアログが表示されます。

Launch Options ダイアログ
Launch Options.

前回起動時のユーザデータを消去する場合は「Wipe user data」オプションをチェック、AVD 作成時に「Snapshot」オプションをチェックしていれば「Launch from snapshot」「Save to snapshot」がチェック可能となるので、必要に応じてチェックして「Launch」をクリックします。すると下記ダイアログが表示されます。

エミュレータ起動状況
Starting Emulator.

著者の場合は当初、Vista で実行した時に「PANIC: Could not open ...」の様なエラーが出てエミュレータが起動出来ませんでした。これは Windows でマイドキュメントの位置を変えている場合に起き易い様ですが、AVD は場所を変えたマイドキュメントに作成されるのに、AVD 開始時はファイルをデフォルト位置に探しに行くため、でした。

なお、コマンドラインで起動する場合は下記の様にします。コマンドラインオプションについてはここに一覧があります。

emulator -avd <avd_name> [<options>]

起動に成功すると、下記のエミュレータ画面が表示されます。

エミュレータ起動中
Loading.

画面に android と表示されている間は、エミュレータの起動処理中です。使用可能になると下記の様な画面か、その次のロック中画面になります。

エミュレータ画面
Loaded.

ロック中画面
Lock screen.

後は、前述の <アプリケーション名>-debug.apk (リリースビルドの場合は名前が異なる)をエミュレータに転送すれば、エミュレータ上でアプリケーションを実行できます。apk ファイルを転送するには、エミュレータを起動した状態で adb install コマンドを実行します。apk ファイルがあるディレクトリにいるとすると

adb install ./<アプリケーション名>-debug.apk

とします。これにより、エミュレータに apk ファイルが転送されます。HOME 画面下部の下図赤丸で囲んだ部分をクリックすると、インストールされているアプリケーション一覧を見れますので、転送したアプリケーションを選択して実行します。

HOME 画面下部の赤丸で囲んだ部分をクリック
アプリケーション一覧を選択

アプリケーション一覧画面(FirstApp が android create project コマンドで作ったデフォルトアプリケーション)
アプリケーション一覧画面

FirstApp の実行画面
FirstApp の実行画面