先週末にAndroid SDK1.5にセキュリティホールが見つかり色々とバージョンアップされています。
T-Mobile G1のCupcakeバージョンアップが延期になったのはこれが理由だったのかもしれません。

とりあえずやること

  1. Dev Phoneのファームウエアアップデート
  2. SDK 1.5 r2のインストール
  3. Emulator用のAVDの再作成

セキュリティホール

oCERT:Android improper package verification when using shared uids

Normally, Android applications will be allowed to share a uid if the packages are all signed by the same developer certificate and request permission to do so at install-time. This allows for packages from the same author to share data. Without enforcement of that behavior, it is possible for any application to be installed in such a manner that it gains access to another (existing) application’s data.

ocert.png

oCERTとはオープンソース版CERT。1年ほど前の記事だが以下を参照

DevPhoneのファームウエアバージョンアップ

HTC – Support – Flashing your Android Dev Phone with a Factory System Image

過去の物はもう取得できないんですかね?過去の履歴がホームページ上にないので、ユーザ側できちんと取っておく必要がありそうです

  • ota-radio-2_22_19_26I.zip
  • signed-dream_devphone_userdebug-ota-148830.zip

インストールに関しては、Dev Phoneファームウェアアップデート手順 (v1.5)と同じです。

devphone android os 1.5r2

SDK 1.5. r2のインストール

This SDK release provides the same developer tools as the Android 1.5 SDK, Release 1, but provides an updated Android 1.5 system image that includes a security patch for the issue described in the oCert advisory below:

System imageだけ上がっているよということなですが、無用なリスクをとらないように、新しくインストールしました。

初めてSDKをインストールされる方は、Android SDK 1.5 (EarleyLook)インストール手順を参考にしてください。

ダウンロード
  • android-sdk-windows-1.5_r2.zipをダウンロード
  • zipファイルを解凍(C:\android\android-sdk-windows-1.5_r2)を作成
環境変数の変更

SDKに付属するツール(エミュレータ等)をどこからでも起動できるようにするためパスを通します
PATH C:\android\android-sdk-windows-1.5_r2\toolsに設定

Eclipse Plugin (ADT)

インストールや、アップデートは何もする必要はありません

Windows > Prefrencesを開き、Androidを選択、SDK Locationを変更する(C:\android\android-sdk-windows-1.5_r2)

adt setting sdk location

エミュレータ

System Imageのパッチということなので、AVD createで作成したイメージを削除し作成しなおします。

AVDファイルは、C:\Documents and Settings\ユーザ名\.android\avdにありますので、直接ファイルを削除してもよいですし、AVDコマンドから削除してもかまいません

現在使用可能なAVDファイルの表示

>android list avds
Available Android Virtual Devices:
Name: sdk1.1
Path: C:\Users\gaku\.android\avd\sdk1.1.avd
Target: Android 1.1 (API level 2)
Skin: HVGA
---------
Name: sdk1.5
Path: C:\Users\gaku\.android\avd\sdk1.5.avd
Target: Android 1.5 (API level 3)
Skin: HVGA
---------
Name: sdk1.5map
Path: C:\Users\gaku\.android\avd\sdk1.5map.avd
Target: Google APIs (Google Inc.)
Based on Android 1.5 (API level 3)
Skin: HVGA
AVD削除

android delete avd -n sdk1.1
android delete avd -n sdk1.5
android delete avd -n sdk1.5map

もう一度、リストを出してみて1件も表示されないか確認


>android list avds
Available Android Virtual Devices:
AVD再作成

Android SDK1.1用


$android create avd --name sdk1.1 --target 1

Android SDK1.5用


$android create avd --name sdk1.5 --target 2

Android SDK1.5 とGoogle Map


$android create avd --name sdk5map --target 3

AVDとエミュレータに関する詳しい説明はこちらをご覧ください

私の場合、sdk1.5のAVDを、android deleteにて削除した時に、エラーがでました。その後 android listに出てこなくなったのですが、再度同じ名前で作成しなおしたところ、作成できませんでした。

–forceオプションを使えとメッセージにあるのですが、私は直接avdディレクトリを削除して対処しました。

ブログ内のSDK1.5に関連する記事

ブログ内のSDKインストール記事