Galaxy S II(GT-I9100)をAndoid 2.3.6へアップデート

昨日Galaxy S II(GT-I9100)をAndoid 2.3.6へアップデートしました。
Galaxy S II GT-I9100はAndroid 4.0(Icecream Sandwich)への公式アップデートが予定されている端末で、既にそのROMもリークしていますが、UIが大幅に変わることもあり、今回はGingerbreadを食べ続けることを選択しました。
Icecream Sandwichを食べられるのはそれがプリインストールされた新端末を導入する時になりそうです。

root化カーネルを焼いたりしたことでSamsung Kiesを使う通常のアップデート手順ではOSアップデートができなくなっているため、リークした公式Andoid 2.3.6のROMを拾ってきてOdinでROM焼き。

Andoid 2.3.5にした際はZergRushを使ってroot化したため出ませんでしたが、今回はroot化カーネル(CF-root)を焼いてroot化したため、カスタムファームを焼いたことを示す起動時のびっくりマークが復活。
このびっくりマークはOdinで純正カーネルを焼いた後にCWMを使いCF-rootのカーネル(zImage)を書き戻せば消せるとのことですが(情報元はCF-root配布元でもあるこちら)、Odinでカーネルだけを焼く方法が分からずとりあえずそのままにしています。
heimdallで純正カーネルを焼こうとすると失敗しましたし、Andoid 2.3.5以降だとJIGが効かないらしいので、さてどうするか。
カスタムファームを焼いた状態ではアップデートを認識できないアプリ(アップデートありのアプリリストに出てこない)があるので、どうにかしたいところですが…


今回アップデートした理由はというと…
・最近突然再起動することが多くなったりと動作が不安定になった
ひどい時は一日数回再起動してしまい、端末の利用に支障が出るように。
・マーケットアプリの置き換えがうまくいかない
build.propを書き換えて画面表示密度(Display Density)を変更すると、一部のアプリが「非対応」ということでインストール/アップデートができなくなってしまいます。

プリインストールのGoogle純正アプリにまで「非対応」と言われるのは…
このようなアプリをインストール/アップデートするには一旦Display Densityを端末のデフォルト値(Galaxy S IIだと240dpi)に戻した上でインストール/アップデートすればいいのですが、それ用のアプリを使ったとしても頻度が多くなるとかなり面倒。
それを解決する方法としてそれについての対策がなされた改造マーケットアプリでオリジナルのマーケットアプリ(Vending.apk)を置き換える、という手があるのですが、私のGalaxy S II(GT-I9100)ではマーケットアプリ置き換え後再起動した際にマーケットアプリが強制終了するようになってしまいうまくいきませんでした(ちなみに初代Galaxy Tabでは成功)。
これらの問題が解決すれば、と思い今回アップデートしました。
動作の安定性に関してはまだ使い始めて1日なので何とも言えませんが、今のところ突然の再起動は起こっていません。
そしてマーケットアプリの書き換えもうまくいき、「非対応端末」ということでアップデート/インストールが拒否される、ということはなくなり一安心です。
そして私的には最も重要なFOMAプラス対応のためのバンド切り替えはOSアップデート後も有効。
ドコモ回線での利用でも安心して使えます。

OSバージョンは2.3.6、ビルドナンバーはXILA2となります。
イタリア語のアプリが含まれていたので、今回焼いたROMはイタリア向けバージョンのようです。
しかしこれらのアプリはイタリア語が分からない私には当然使い道がないので、Titanium Backupを使いアンインストールしました。

画面ロック解除画面が変わり、Android 3.x(Honeycomb)、Android 4.0(Icecream Sandwich)風のものに。
余談ですがこのスクリーンショットを撮るのには少々苦労しました(ロック画面にタッチしている状態でしかロック解除の南京錠マークが出ないため)。


しかし今回root化してのカスタマイズでいくつか問題が。
まずはカメラのAF合照音とスクリーンショット撮影時のシャッター音を消すためにCamera.apkとScreenCaptureService.apkをゴニョゴニョしてオリジナルと置き換えると、カメラが起動しない/スクリーンショットが撮れない、というトラブルが発生。
しかもバックアップしておいたオリジナルファイルに戻しても治らない。
しかし端末を再起動すると初期状態に戻ったので再度ファイルゴニョゴニョ/置き換えをやり直し、端末を再起動するとうまくいったので何よりでした。
もう一つは日本語フォントの導入がうまくいかないこと。
最初はroot権限でのファイルアクセスができるファイルマネージャ(ES File Explorerなど)でフォントをコピーしようとしましたが、「書き込み失敗」というエラーメッセージが出てうまくいかなかったり、またはコピーできてもファイルサイズが元ファイルと一致しない、といったことで失敗してしまいます。

ES File Explorerでフォントをコピーしようとした際に出たエラーメッセージ。
それではとデバッグモードでPCに接続し、adb shellを使いSuperUser権限でファイルコピーしようとしても「ディスクフル」のエラーメッセージが出てこれまた失敗。

そもそもadb shellでsuコマンドを実行しSuperUser権限へ昇格する際に端末側でrootアクセスを許可するメッセージが出なかった(SuperUserアプリにもログがない)のがおかしいので、rootアクセス自体に失敗している可能性があるのですが、Systemディレクトリを書き込み可能でマウントする際にエラーが出なかったので、違うような気が。
CF-rootを導入しているのでCWMが利用できますから、CWMで起動してSystemディレクトリが書き込み可能でマウントされている状態からadb pushでフォントをPCから送り込む、という方法を試したいところです。
とは言えCJKフォント(DroidSansFallback.ttf)で日本語の表示は可能なので、一部の漢字が見苦しい以外は利用には支障がないですから、しばらく我慢ですね。