Nexus OneをAndroid2.2 Froyoにアップデートしてみた。

android, Nexus One, update

ちまたでは既に話題となっていたAndroid2.2 Froyoを今更ながらアップデート。

アップデート

カスタムロムの「Cyanogenmod」のFroyo版が出るまで待っていようと思っていましたが、Flash対応のブラウザを使ってみたくアップデートに踏み切りました。
手順は既に先駆者の皆様が実行されているので、その恩恵をありがたくちょうだいさせていただきました。

参考になったサイト

メインマシンとして使えるようにするまでの全体的な流れ

  1. データのバックアップ
  2. 標準ROMに戻す
  3. OTA(Over The Air)でAndroid2.2へアップデート
  4. カスタムリカバリ導入
  5. rootの取得
  6. フォント入れ替え
  7. Softbank MMSを使用可能にする
  8. データ復元

データのバックアップ

バックアップソフトにはいろいろあるみたいですが、

  • My Backup Pro
  • Sprite Backup

の二種類を普段は使っています。
My Backup Proの方がアプリケーションのそのもののバックアップも取れて良かったのですが、MMSをリストアしてみると相手からのMMSが白く塗りつぶしたような表示になってしまい、まったく無意味だったので今回はSprite Bakcupを使用しました。
ただ、結果としてはMMSのリストアには成功していません。

標準ROMに戻す

コムギドットネットさんの「手順書/フルリカバリ手順(NexusOne) | Android Custom Cookbook」を見れば難しくないと思います。

備忘録としてコピペさせていただきます。
WindowsマシンからMS-DOSを開いて、userdata.img等のデータがあるディレクトリでの作業です。
ボリュームダウンボタンと電源ボタンを同時に押して、bootloaderを起動させ、Fastbootモードにしておきます。

fastboot erase userdata #RA-nexusからWipeした場合この2行は不要
fastboot erase cache

fastboot flash userdata userdata.img
fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash recovery recovery.img #リカバリを標準に戻したくない場合この行を飛ばす

fastboot reboot

OTA(Over The Air)でAndroid2.2へアップデート

標準ROMに戻した後は何も意識せず、Nexus Oneを起動させて初期設定を済ませました。
OTAを使うためにWifiの設定だけ行い、設定→端末情報→システムアップデートからアップデートできました。

カスタムリカバリ導入

こちらから「recovery-RA-nexus-v1.7.0.1.img」をダウンロードし、Windowsの適当なフォルダに保存しておきました。
手順は標準ROMの時と同じです。

fastboot flash recovery recovery-RA-nexus-v1.7.0.1.img

を実行して終わり。

rootの取得

いろいろ遊ぶにはrootを取得しなければなりません。
手順は「手順書/rooted(NexusOne) | Android Custom Cookbook」を見てください。

但し書きとして

OTA後にfastbootからRA-recoveryを導入したら、bootloaderからRecoveryを選択して下さい。
導入後すぐに通常起動すると、リカバリが標準に戻ってしまいます。

とありますので注意してください。

フォントの入れ替え

rootが取得できたらフォントの入れ替えです。
Nokiaをこよなく愛していた頃、font-forgeで作った絵文字入りのフォントを標準のフォントと入れ替えました。

手順書/フォント変更 | Android Custom Cookbook:

Softbank MMSを使用可能にする

今回、一番つまづいてしまったのはここでした。

まず、先述の「Android 2.2 FroyoでSoftbank MMS対応する方法(Mms.apk)-Yokin’s Studio」からMms.apkをダウンロードします。

次にNexus OneとWindowsをデバッグモードで接続し、コマンドプロンプトを開きます。
ダウンロードしたファイルはMms.apkとリネームしておく必要があります。

Mms.apkをインストールするのですが、ネット上にあった手順だとエラーが出てしまいました。

$ adb remount
$ adb shell find /system /data -name \*android\*mms.apk\* -o -name Mms.apk -delete

この2行目を実行すると

find: unrecognized: -delete

というエラーが出てしまいました。引数のdeleteを認識していないようです。

そこで

$ adb shell find /system /data -name \*android\*mms.apk\* -o -name Mms.apk

を実行し、Mms.apkの置き場所を探ってみると

/system/app/

にありました。

$adb shell
#cd /sytem/app/
#rm Mms.apk

を実行し、既存のMms.apkを削除しました。

その後に

$adb uninstall com.android.mms
Success

$adb install Mms.apk
933 KB/s (881576 bytes in 0.921s)
 pkg: /data/local/tmp/Mms.apk
Success

これでMms.apkのインストールが完了。

User-Agentの変更が出来るようになりました。

データ復元

連絡先の復元は同期することで解消されました。
なんときちんとフリガナまで対応しています。

もともと海外のスマートフォンを使用していたので、名にフリガナ、姓に漢字の名前をカンマ区切りで入れていたのですがそれらが自動的に読み仮名に割り振ってあったりと大変便利になりました。
本家、Gmailの方がフリガナに対応していないのでそちらも早く対応することを望みます。

アプリケーションのインストールは特に問題もなく、スムーズ。
FlashPlayer10のベータ版はマーケットからインストールできました。