 |
注意 この更新は、デベロッパー向けの GDDJ-09 端末のみに適用されます。ここで説明する GDDJ-09 端末には独自の特性があります。この更新は、T-Mobile G1 やその他の Android 対応携帯電話では機能しません。
|
|
GDDJ-09 端末を工場出荷時のシステム イメージでフラッシュする
このページでは、GDDJ-09 端末を工場出荷時の Android プラットフォーム システム イメージ(および関連付けられている無線イメージ)でフラッシュする手順について説明します。また、実際のイメージ バイナリや、端末にイメージをフラッシュする際に使用するツールもこのページからダウンロードできます。
システム イメージ ファイルを使用する利点は以下のとおりです:
- 常に最新の Android システム イメージを使用することで、GDDJ-09 端末を最新の状態に保つことができます。
- 開発したアプリケーションを複数のバージョンの Android プラットフォームでテストして、互換性を確認できます。
- データが破損した端末を工場出荷時の状態に戻すことができます。
なお、システム イメージをフラッシュできるのは、後のセクションに示すサポート対象の端末のみとなりますのでご注意ください。
このドキュメントの内容は以下のとおりです:
GDDJ-09 端末の更新については、android-sdk-japan グループで情報交換できます。
概要
このページでは、工場出荷時の Android システム イメージで端末をフラッシュする方法として、以下の 2 つの方式を説明します:
- 更新済みのリカバリ イメージを使用して端末をフラッシュする(リカバリ イメージ方式)
この方式では、Android SDK に付属している adb ツールを使用して、更新済みの無線イメージとリカバリ イメージを、端末の SD カードのリカバリ パーティションにコピーします。Windows、OS X、または Linux 環境で実行できる単純な処理です。Android アプリケーションのデベロッパーが端末をフラッシュする場合は、この方式をおすすめします。なお、この方式でフラッシュするためには、端末に付属していた工場出荷時のオリジナルのブートローダ(hboot 1.33.3005)が必要です。
- fastboot コマンドを使用して端末をフラッシュする(fastboot 方式)
この方式はもう少し複雑で、adb ツールを使用して無線イメージを更新し、fastboot ツールを使用して端末にシステム イメージをフラッシュします。無線イメージとシステム イメージを別々にインストールする必要がある場合や、現在の環境で問題なく fastboot を使用できている場合は、この方式で端末をフラッシュすると便利です。この方式でフラッシュするには、fastboot 対応のブートローダ(たとえば、端末に付属していた工場出荷時のオリジナルのブートローダ)が必要です。
作業を始める前に、どちらの方式でフラッシュするのが適切かを判断し、以下で説明する各方式の手順に従ってください。どちらの方式でも、フラッシュの手順はほぼ同じです。主な違いは、リカバリ イメージ方式では fastboot ツールを使用しない点です。fastboot を使用してシステム イメージを端末にフラッシュする代わりに、adb を使用して更新済みのリカバリ イメージを端末にコピーします。それ以外の手順はすべて同じです。
サポート対象の端末
このページで説明するシステム イメージは、以下の要件を満たす端末にのみインストールできます:
- GDDJ-09 端末ハードウェア プラットフォームをベースとしている
- 工場出荷時のオリジナルのブートローダ(hboot 1.33.3005)または fastboot をサポートする開発用ブートローダを備えている
これらのシステム イメージは、他のハードウェア プラットフォームにはフラッシュできません。また、工場出荷時のオリジナルのブートローダを備えていないバージョンの HTC Magic ハードウェアにもフラッシュできません(ただし、端末のブートローダが fastboot をサポートしている場合はフラッシュできます。fastboot については次のセクションで説明します)。また、これらのイメージには適切な暗号署名が含まれていないため、T-Mobile G1 などの市販の端末にもフラッシュできません。
ツールの入手
端末にシステム イメージをフラッシュするためには、適切なツールを準備する必要があります。
- リカバリ イメージ方式で端末をフラッシュする場合は、Android SDK に付属している adb ツールが必要です。
- fastboot 方式で端末をフラッシュする場合は、adb ツールの他に fastboot ツールが必要になります。
- Windows 開発環境では、どちらの方式を使用する場合でも、USB ドライバを Android SDK に付属のバージョンに更新する必要があります。
adb ツール
adb ツールは Android SDK に含まれています。ローカル コンピュータに Android SDK がインストールされている場合、adb は /tools/ ディレクトリに格納されています。
Android SDK をインストールしていない場合は、次の場所から最新版をダウンロードしてインストールします:
http://developer.android.com/sdk/index.html
SDK のインストールが完了すると、adb ツールを使用できる状態になります。
fastboot ツール
fastboot 方式で端末をフラッシュする場合は、fastboot というコマンドライン ツールが必要になります。
fastboot のソース コードは Android オープン ソース リポジトリから入手でき、そのツリーからビルドするたびにコンパイルされます。Android オープン ソース ツリーからビルドした場合、fastboot の実行ファイルは次の場所に格納されます:
/out/host//bin/
以下のリンクを使用して fastboot 実行ファイルを直接ダウンロードすることもできます。
| プラットフォーム |
ダウンロード |
サイズ(バイト) |
チェックサム |
| fastboot バイナリ、Windows |
fastboot.exe |
992202 |
6bbf05d97585c3c515bdb172eb9e7d12 |
fastboot バイナリ、OS X
(実行前にファイルを解凍する) |
fastboot-mac |
59071 |
ed784e50cfcaba3c60380c5f448aa354 |
fastboot バイナリ、Linux
(実行前にファイルを解凍する) |
fastboot |
61887 |
9851bb6ad29cd4b60c9ba9d011ba9efd |
|
OS X および Linux の場合は、fastboot 実行ファイルをコンピュータ内のどの場所に格納しても構いません。Windows では、AdbWinApi.dll ファイル(Android SDK に付属)を参照できる場所に fastboot 実行ファイルを格納しないと正常に動作しません。Windows の場合、fastboot 実行ファイルの格納場所としては、Android SDK の他のツールと同じ /tools ディレクトリをおすすめします。どのプラットフォームの場合でも、この格納場所を PATH に追加しておくと便利です。
USB ドライバ
開発用のコンピュータで Windows が動作している場合は、先に進む前に USB ドライバが更新されているかどうかを確認する必要があります。利便性のため、Android SDK(1.0 r2 以降)には更新済みの USB ドライバが付属しています。詳しくは、Android デベロッパー サイトの Setting up a Device for Development をご覧ください。
イメージ パッケージのダウンロード
端末に新しいシステム イメージをフラッシュするためには、ローカル コンピュータに 2 つのイメージ パッケージをダウンロードする必要があります。
- リカバリ イメージ方式で端末をフラッシュする場合にダウンロードする必要があるのは、リカバリ イメージ パッケージと無線イメージ パッケージの 2 つだけです。
- fastboot 方式で端末をフラッシュする場合にダウンロードする必要があるのは、システム イメージ パッケージと無線イメージ パッケージの 2 つだけです。
次の表に、ダウンロード可能なイメージ パッケージへのリンクを示します。以降の各セクションでは、それぞれのパッケージの内容と、ダウンロード後の取り扱い方法について解説します。
無線イメージのダウンロード
端末のフラッシュをどちらの方式で行う場合でも、上の表に示したリンクから、必要な無線イメージ パッケージをダウンロードします。
Android プラットフォームは、バージョンごとに、特定のバージョンの無線ファームウェア上で動作するように設計されています。通常は、新しくリリースされた Android プラットフォームほど、新しい無線ファームウェアが必要になります。したがって、端末に新しいシステム イメージをフラッシュしてアップグレードまたはダウングレードする場合は、無線ファームウェアもそのプラットフォームが前提とするバージョンに更新する必要があります。無線イメージを更新しないと問題が発生するおそれがあります。
上の表に示したリンクを使用して、ダウンロードしたシステム イメージに対応する無線イメージ パッケージをダウンロードしてください。
ダウンロードした無線イメージ パッケージは解凍する必要はありません。後述するように、イメージ パッケージは adb コマンドから直接参照できます。無線イメージ パッケージは、コンピュータ内のどの場所に格納しても構いません。ただし、それぞれのバージョンを区別できるような名前を付けて管理してください。
システム イメージのダウンロード
fastboot 方式で端末をフラッシュする場合は、上の表に示したリンクから、必要な署名済みシステム イメージ パッケージをダウンロードします。現時点で提供されているシステム イメージ パッケージは、Android 1.5 プラットフォーム バージョンのみです。
システム イメージ パッケージは .zip アーカイブで、端末にフラッシュするための以下のイメージが格納されています:
- ブート イメージ - カーネルと initrd が含まれています。
- リカバリ イメージ - システムの再ビルドや更新に使用するファイルが含まれています。
- システム イメージ - 特定のバージョンの Android プラットフォームおよびアプリケーションが含まれています。
なお、各パッケージ内のイメージは相互に依存しているため、すべてのイメージをまとめてフラッシュする必要があります。たとえば、端末にシステム イメージをフラッシュする場合は、同じイメージ パッケージに含まれているブート イメージとリカバリ イメージもフラッシュする必要があります。
ダウンロードしたシステム イメージ パッケージは解凍する必要はありません。後述するように、イメージ パッケージは fastboot コマンドから直接参照できます。システム イメージ パッケージは、コンピュータ内のどの場所に格納しても構いません。ただし、それぞれのバージョンを区別できるような名前を付けて管理してください。
リカバリ イメージのダウンロード
リカバリ イメージ方式で端末をフラッシュする場合は、上の表に示したリンクから、必要なリカバリ イメージ パッケージをダウンロードします。現時点で提供されているリカバリ イメージ パッケージは、Android 1.5 プラットフォーム バージョンのみです。
リカバリ イメージ パッケージは、以下のイメージをはじめ、リカバリ パーティションのすべてのコンテンツが格納されています:
- ブート イメージ - カーネルと initrd が含まれています。
- リカバリ イメージ - システムの再ビルドや更新に使用するファイルが含まれています。
- システム イメージ - 特定のバージョンの Android プラットフォームおよびアプリケーションが含まれています。
- 無線イメージ - 互換性のある無線ファームウェアが含まれています。
なお、各リカバリ パッケージ内のイメージは相互に依存しているため、すべてのイメージをまとめてコピーする必要があります。たとえば、端末にシステム イメージをコピーする場合は、同じイメージ パッケージに含まれているブート イメージとリカバリ イメージもコピーする必要があります。
ダウンロードしたリカバリ イメージ パッケージは解凍する必要はありません。後述するように、イメージ パッケージは adb コマンドから直接参照できます。リカバリ イメージ パッケージは、コンピュータ内のどの場所に格納しても構いません。ただし、それぞれのバージョンを区別できるような名前を付けて管理してください。
端末の無線ファームウェアの更新
リカバリ イメージ手法と fastboot 手法のどちらを使用する場合でも、システムを更新する前に端末の無線ファームウェアを更新する必要があります。これにより、端末上に互換性のある無線イメージが存在することを保証できると同時に、ブートローダで更新済みのリカバリ イメージを読み込む際のバージョン条件を満たすことができます。
ツール、ダウンロードしたシステム イメージまたはリカバリ イメージ、およびそれに対応する無線イメージ パッケージをインストールしたら、次の手順で端末の無線ファームウェアを更新します。
- 端末に SD カードが挿入されていることを確認します。
- 通常どおり端末を起動します。
- 端末を USB で開発用コンピュータに接続します。
- adb が端末を認識しているかどうかを確認するため、コマンドラインで次のコマンドを実行します:
$ adb devices
コンソール上のコマンド出力によって、端末が認識されていることが確認できるはずです。
- 次に示す adb push コマンドを使用して、無線イメージ パッケージのコンテンツを端末の SD カード上の update.zip アーカイブにコピーします:
$ adb push .zip /sdcard/update.zip
コピーしたバイト数と経過時間が出力され、コマンドが終了します。ただし、ファイルのコピーはバックグラウンドで続いているため、1~2 分待ってから次に進んでください。次に進むのが早すぎて処理が中断されてしまった場合は、後ほど更新をインストールしようとすると [bad update.zip] というエラーが表示されます。
次に進む前に無線イメージ パッケージが完全にコピーされたことを確認するには、次のコマンドを使用します:
$ adb shell sync
sync が返されたら、端末へのデータのコピーは完了しています。
- 端末をリカバリ モードで再起動するため、再起動時に [ホーム] キーを押したままにします。端末がリカバリ モードになると [!] アイコンが表示されます。
- [ホーム] キーを押しながら [終了/電源] キーを押してリカバリ コンソールを表示します。
- 次に、トラックボールで [apply sdcard:update.zip] オプションを選択し、トラックボールを押してインストールを開始します。[Install from sdcard] というステータス メッセージが表示されます。進行状況を示すバーが最後まで到達したらインストールは完了です。無線イメージの書き込みが完了すると、端末に [updating firmware] アイコンが数秒間表示された後、自動的に通常モードで再起動します。
端末が通常どおり再起動したら、次のセクションの説明どおりにシステム イメージまたはリカバリ イメージを更新できます。無線イメージのバージョンを確認するには、端末を fastboot モードで起動します。
端末へのリカバリ イメージ パッケージのコピー
リカバリ イメージ方式の場合は、無線ファームウェアを更新した後の最後のステップとして、adb ツールを使用してリカバリ イメージ パッケージを端末の SD カードにコピーします(fastboot 方式の場合は、リカバリ イメージを端末にコピーする必要はありません。代わりに、 端末へのシステム イメージ パッケージのフラッシュ をご覧ください)。
リカバリ イメージを端末の SD カードにコピーする手順は次のとおりです:
- 端末に、更新済みの無線イメージがコピーされている SD カードが挿入されていることを確認します。
- 通常どおり端末を起動します。
- 端末を USB で開発用コンピュータに接続します。
- adb が端末を認識しているかどうかを確認するため、コマンドラインで次のコマンドを実行します:
$ adb devices
コンソール上のコマンド出力によって、端末が認識されていることが確認できるはずです。
- 次に示す adb push コマンドを使用して、無線イメージ パッケージのコンテンツを端末の SD カード上の update.zip アーカイブにコピーします:
$ adb push .zip /sdcard/update.zip
コピーしたバイト数と経過時間が出力され、コマンドが終了します。ただし、ファイルのコピーはバックグラウンドで続いているため、1~2 分待ってから次に進んでください。次に進むのが早すぎて処理が中断されてしまった場合は、後ほど更新をインストールしようとすると [bad update.zip] というエラーが表示されます。
次に進む前に無線イメージ パッケージが完全にコピーされたことを確認するには、次のコマンドを使用します:
$ adb shell sync
sync が返されたら、端末へのデータのコピーは完了しています。
- 端末をリカバリ モードで再起動するため、再起動時に [ホーム] キーを押したままにします。端末がリカバリ モードになると [!] アイコンが表示されます。
- [ホーム] キーを押しながら [終了/電源] キーを押してリカバリ コンソールを表示します。
- 次に、トラックボールで [apply sdcard:update.zip] オプションを選択し、トラックボールを押してインストールを開始します。[Install from sdcard] というステータス メッセージが表示されます。進行状況を示すバーが最後まで到達したらインストールは完了です。無線イメージの書き込みが完了すると、端末に [updating firmware] アイコンが数秒間表示された後、自動的に通常モードで再起動します。
端末が通常どおり起動したら処理は完了です。
GDDJ-09 端末の更新については、android-sdk-japan グループで情報交換できます。
端末へのシステム イメージ パッケージのフラッシュ
fastboot 方式の場合のみ、無線ファームウェアを更新した後の最後のステップとして、fastboot ツールを使用してシステム イメージ パッケージを端末にフラッシュします。なお、端末の Android システム イメージを更新する際は、必ず無線イメージを更新する必要があります(リカバリ イメージ方式の場合は、システム イメージ パッケージを端末にフラッシュする必要はありません。代わりに、 端末へのリカバリ イメージ パッケージのコピーをご覧ください)。
システム イメージ パッケージを端末にフラッシュする手順は次のとおりです:
- 端末を fastboot モードで起動します。
fastboot モードで起動するには、[戻る] キーを押しながら電源を ON にします。[戻る] キーは、ブートローダ画面が現れて「FASTBOOT」と表示されるまで押したままにしてください。これで、端末が fastboot モードになり、fastboot コマンドを受信する準備が整いました。この時点で fastboot モードを終了したい場合は、MENU キーと [通話] キーと [終了/電源] キーの 3 つを同時に押します。
なお、ブートローダ画面は端末によって異なります。GDDJ-09 端末の場合、ブートローダ画面にはスケボーをするロボットの画像が表示されます。他の端末では、別の画像や配色で表示される場合があります。ただし、端末が fastboot モードになると、どのブートローダ画面にも必ず「FASTBOOT」と表示されます。また、ブートローダには無線のバージョンも表示されます。
- 端末が開発用コンピュータに接続されていない場合は USB で接続します。
- ユーザーデータ パーティションのコンテンツを消去したい場合は、次の fastboot コマンドを使用します:
$ fastboot erase userdata
このコマンドを実行すると、インストールされているアプリケーションとそのデータがすべて削除されます。アプリケーションの実行環境が完全にクリアされるため、デバッグの際に便利なコマンドです。ユーザー データの消去は、下位バージョンのプラットフォームを端末にフラッシュする(つまりダウングレードする)場合にも必要になります。一方、市販の端末では一般的な操作であるプラットフォームの上位バージョンへのアップグレードの場合は、必ずしもユーザーデータ パーティションを消去する必要はありません。
- キャッシュ パーティションを消去したい場合は、次の fastboot コマンドを使用します:
$ fastboot erase cache
なお、別々の fastboot コマンドを使用してユーザーデータ パーティションとキャッシュ パーティションを個別に消去する代わりに、システム イメージをフラッシュする際に -w オプションを付加するだけで同じ結果を得ることができます。
- イメージ パッケージのコンテンツを端末にフラッシュするため、次の fastboot コマンドを実行します:
$ fastboot update .zip [-w]
この fastboot コマンドを実行すると、<システム イメージ パッケージ名>.zip 内のすべてのイメージが、端末の適切なパーティションにコピーされます。この処理中には、コマンド シェルにステータス メッセージが出力されます。ブートローダのバージョンによっては、ブートローダ画面にもステータス メッセージが出力される場合があります。
すべてのイメージが端末にコピーされると、fastboot からの完了メッセージが表示されます。
その他の fastboot コマンドについて知りたい場合は、次の fastboot コマンドを使用します:
$ fastboot
- 端末を再起動します。ほとんどの場合は、イメージ ファイルのコピーが完了すると自動的に端末が再起動されます。
端末を手動で再起動する必要がある場合は、以下の fastboot コマンドを使用できます:
$ fastboot reboot
または
$ fastboot reboot-bootloader
また、MENU キーと [通話] キーと [終了/電源] キーの 3 つを同時に押して端末を再起動することもできます。
再起動すると、端末は通常どおりに起動します。端末が通常どおりに起動しない場合は、もう一度フラッシュを行ってください。ユーザーデータ パーティションが消去されず、起動中に端末がハングした場合は、ユーザーデータ パーティションを消去してから再起動してみてください。
GDDJ-09 端末の更新については、android-sdk-japan グループで情報交換できます。
トラブルシューティング
Windows でfastboot.exe を実行しても端末が正しく検出されない
Windows では、状況によってブートローダが USB マスストレージ デバイスとして検出され、fastboot.exe からアクセスできない場合があります。この問題を解決するには、Windows コンピュータ上で端末に関連付けられている USB マスストレージ ドライバを削除し、代わりとなる適切なドライバをインストールします。手順は次のとおりです:
- 前述の手順, どおりに端末を fastboot モードで起動し、USB で Windows コンピュータに接続します。
- [スタート] > [コントロール パネル] > [システム] > [ハードウェア] > [デバイス マネージャ] > [USB (Universal Serial Bus) コントローラ]. の順に進みます。一覧で、端末が USB マスストレージ デバイスとして表示されていることを確認します。
- USB マスストレージ デバイスを右クリックして [アンインストール操作] > [ハードウェア変更のスキャン] をクリックして端末を手動で再検出できます。
- Android SDK に付属している USB ドライバをインストールします。手順については、Android デベロッパー サイトのSetting up a Device for Development をご覧ください。
なお、fastboot がうまく機能しない場合でも、工場出荷時のオリジナルのブートローダが付属していれば、リカバリ イメージ方式で端末に更新済みのシステム イメージをフラッシュできます。詳しくは 概要をご覧ください。具体的な手順については、このドキュメントの最初の方で説明しています。
更新済みの無線ファームウェアのインストール時に update.zip ファイルを開けない
端末の無線ファームウェアの更新, で説明しましたが、まず無線イメージ パッケージのコンテンツを端末の SD カード上の update.zip アーカイブにコピーしてから、リカバリ コンソールを使用して更新をインストールする必要があります。状況によっては、更新をインストールしようとすると、update.zip ファイルの問題が原因で処理が正常に終了しない場合があります。通常このような現象は、すべての無線ファイルが update.zip アーカイブにコピーされる前にインストールを開始した場合に発生します。この問題を解決するには、無線ファイルをもう一度 update.zip アーカイブにコピーし、今回はすべてのファイルが完全にコピーされるよう 1~2 分待ってからインストールを開始します。
端末の詳細
参考までに、GDDJ-09 端末の技術情報を次の表にまとめます。
| 特性 |
説明 |
| ルート アクセス |
無効 |
| ブートローダ |
hboot: 1.33.3005(ロック)
fastboot 互換 |
| 無線 |
Version 2.22.19.26I
Supports 1700 & 2100 MHz bands |
| SIM ロック |
アンロック |
| adb(Android Debug Bridge)のサポート |
デフォルトで有効 |
|
端末の保証に関する情報
Google GDDJ-09 端末に適用される保証については、こちらをご覧ください。