株式会社ライブキャストロゴ 株式会社ライブキャスト

今更ながら、Android SDK 1.5をインストールしてみましたので、メモしておきます。インストールした環境はflashcast:フリーで働くITエンジニア集団のブログ: Androidアプリ開発環境構築と同様です。

・MacOSX 10.5.6
・Eclipse 3.4.1(Ganymede)

Upgrading the SDK | Android Developersに従い進めていきます。

1.Android SDK 1.5のダウンロード
Android 1.5 SDK, Release 1 | Android Developersより、ダウンロードします。ダウンロードしたファイルはandroid-sdk-mac_x86-1.5_r1.zipです(2009/5/18時点)。

2.Android SDK 1.5のインストール
ダウンロードしたファイルを任意のフォルダに解凍します(以降、<sdkインストールルート>とします)。<sdkインストールルート>配下にあるtoolsフォルダにパスを通します。

例).bash_profileへの記入例

PATH=$PATH:<sdkインストールルート>/tools
export PATH

3.Eclipse ADT(Android Development tools) pluginのアップデート

A new ADT plugin (version 0.9) is required for the Android 1.5 SDK. Because the component structure has been changed since Android 1.1, the Android 1.5 SDK does not work with ADT 0.8 (or older) and previously installed SDKs will not work with ADT 0.9. However, the Android 1.5 SDK includes an Android 1.1 SDK image that you can build against while using ADT 0.9.

Android SDK 1.5はADT 0.8以前のバージョンでは動かないようです。インストール済のバージョンは0.8でしたので、アップデートします。

You must uninstall your existing ADT plugin (0.8 or older). If you do not uninstall it, you will get a conflict with the Android Editors when installing the new ADT. (If you have already installed ADT-0.9_pre with the early look 1.5 SDK, you can skip this uninstall procedure and continue to Install the 0.9 ADT plugin).

アップデートの前に、まずは[Android Editors]をアンインストールします。[Help]メニューより[Software Updates…]を選択します。[Installed Software]タブを選択します。

一覧より、[Android Editors]を選択し、アンインストールします。

次画面で、[Android Editors]をチェックし[Finish]ボタンをクリックします。

アンインストールが完了すると再起動を促されますので、[Yes]を選択してEclipseを再起動します。

次に、ADT plugin 0.9をインストールします。

[Help]メニューより[Software Updates…]を選択します。[Available Software]タブを選択します。

flashcast:フリーで働くITエンジニア集団のブログ: Androidアプリ開発環境構築でAndroid SDK 1.0インストール時に設定した、[https://dl-ssl.google.com/android/eclipse/]をチェックし[インストール]ボタンをクリックします。

次画面で[Android DDMS]と[Android Development Tools]をチェックし、[Finish]ボタンをクリックします([Android DDMS]と[Android Development Tools]は初期状態でチェックされています)。

次画面で、[I accept the terms of the licence agreement・・・](ライセンス規約に同意する)を選択し[Finish]ボタンをクリックします。

インストールが完了すると再起動を促されますので、「Yes」を選択してEclipseを再起動します。

4.ADTに設定されている<sdkインストールルート>のパスを変更する。

再起動後、[Eclipse]メニューより、[Referencese…]を選択します。左ペインより[Android]メニューを選択します。

ADT 0.9では、設定画面が以下のように変更になっていました。

アップデート前(ADT 0.8)

アップデート後(ADT 0.9)

Android SDK 1.5のインストールフォルダのパス(<sdkインストールルート>)を設定すると、SDK1.1と1.5の選択ができるようになりました。ADT 0.9では利用するSDKを使い分けることができるようです。

[Apply]ボタンをクリックし、[OK]ボタンをクリックします。

5.既存のProjectをアップデートする

flashcast:フリーで働くITエンジニア集団のブログ: Android Hachathon 3/20に行ってきました!で作成途中だったプロジェクトをアップデートします。

プロジェクトの[Properties]を選択します。

ここでは、利用するSDKを設定しますが、

In the properties, open the Android panel and select a “build target” to compile against. This SDK offers the Android 1.1 and Android 1.5 platforms to choose from. When you are initially updating your projects to the new SDK, we recommend that you select a build target with the Android 1.1 platform. Click Apply, then OK.

まずはSDK1.1を選択することを推奨しているようなので、とりあえずSDK1.1を選択します。

ソースを見るとエラーが出まくってます。

[Project]メニューより[Clean]を選択することでエラーはなくなると思います(このプロジェクトでもきれいにエラーがなくなりました)。

The new plugin creates a gen/ folder in your project, in which it puts the R.java file and all automatically generated AIDL java files. If you get an error such as The type R is already defined, then you probably need to delete your old R.java or your old auto-generated AIDL Java files in the src/ folder. (This does not apply to your own hand-crafted parcelable AIDL java files.)

ADT 0.9ではR.javaが自動的に作成されたgenフォルダに移動になったようです(自動的に移動されます)。以前はsrcフォルダの下にありました。

6.アプリケーションを実行する。

この状態でアプリケーションを実行しても以下のようなエラーが出て、エミュレータが起動しません。

No compatible targets were found. Do you wish to a add new Android Virtual Device?

エミュレーターの仕様が変更され、AVD(Android Virtual Device)という仮想デバイスが必要なようです。

ここからの手順はDeveloping In Eclipse, with ADT | Android Developersに従います。

<sdkインストールルート>/tools/androidコマンドを使います。

仮想デバイスをdeployするターゲットを決めます。以下のコマンドで利用可能なターゲットを確認することが出来ます。

macbook:~ mojamoja$ android list targets
Available Android targets:
id: 1
Name: Android 1.1
Type: Platform
API level: 2
Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P
id: 2
Name: Android 1.5
Type: Platform
API level: 3
Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P
id: 3
Name: Google APIs
Type: Add-On
Vendor: Google Inc.
Description: Android + Google APIs
Based on Android 1.5 (API level 3)
Libraries:
* com.google.android.maps (maps.jar)
API for Google Maps
Skins: HVGA (default), HVGA-L, QVGA-P, HVGA-P, QVGA-L

AVDを作成するには以下のコマンドを実行します。

android create avd –name <your_avd_name> –target <targetid>

nameオプション(<your_avd_name>)はavdの名称を指定します。任意の名称が指定可能です。
targetオプション(<targetid>)はandroid list targetsで出力されたtargetのIDを指定します。

実行例)

macbook:~ mojamoja$ android create avd –name sdk1.1 –target 1
Android 1.1 is a basic Android platform.
Do you wish to create a custom hardware profile [no]
Created AVD ‘sdk1.1’ based on Android 1.1
macbook:~ mojamoja$ android create avd –name sdk1.5 –target 2
Android 1.5 is a basic Android platform.
Do you wish to create a custom hardware profile [no]
Created AVD ‘sdk1.5’ based on Android 1.5
macbook:~ mojamoja$ android create avd –name sdk1.5api –target 3
Created AVD ‘sdk1.5api’ based on Google APIs (Google Inc.)

仮想デバイスの作成はこれで完了です。アプリケーションを実行してみます。

sdk1.1のAVDでエミュレータが起動され、アプリケーションも正常に動作するようになりました。