バージョンアップ

IS06のバージョンアップも最後だろうということで、rootとってみたのだけれど、1ヶ月程度で再度バージョンアップがあった。メインは悪評高いEメールアプリの修正のようで、結構良くなったという書き込みを見るにつけ、バージョンアップしたくなってきた。
手始めにroot状態からの正規のアップデートファイルを使ってのアップデートを行ってみた。
特にエラーを吐くことも無く、うまくいったのかと思ったが、実はアップデート失敗しているだけという状態だったので、次の手を探した。
正規のアップデートファイルであるTJMASKAP061800.apkからupdate.zipを抜き出してカスタムリカバリしてやればアップデート出来るということがわかった分かった。アップデートファイルをWindowsで解凍すると、解凍出来たように見えるが、実際は中身が壊れてしまっているという状態だった。
どうやらextfirmというものを使って解凍するのが正しい方法のようだ。
試行錯誤しながらようやくextfirmをつかってのアップデートファイルの解凍が出来た。あんまり試行錯誤していたので、どれが正解だったか忘れたがjavaをインストールしたPCのコマンドプロンプト
java -jar extfirm.jar TJMASKAP061800.apk
とやるとimageフォルダが出来上がり、その中にいろんなファイルが解凍される。その中にあるupdate.zipをIS06のSDカード直下においてカスタムリカバリをかければ最新バージョンに書き換わったのだと思う。
この状態ではunrootになってしまっているので、root.zipファイルを使ってルートを取り直すことにした。Ver.6.18の状態で果たしてVer.6.06のupdate.zipが適用できるのか不安だったが、root.zipを解凍して出来たfilesフォルダの中にあるupdate.zipはVer.5.03のものなので少しでも可能性のあるVer.6.06のものへ置き換えて、root.batを実行。
1.環境構築の確認はパスしたが、2.カスタムリカバリの導入で躓いた。途中、rm /data/local/tmp/sh?といったメッセージが出て、なにも受け付けない状態で止まってしまい、先へ進めない。
何がなんだか分からないので、とりあえずその日は寝た。

今朝になって再度チャレンジ。rm /data/local/tmp/shでぐぐると、英語のページに行き当たり、どうやらファイルの転送先のIS06に同じファイルがあるので、それを取り除けばよいということが分かった。
コマンドプロンプトからadb shellを実行し、その後rm /data/local/tmp/shと入力するとrm /data/local/tmp/sh?と聞いてくるのでyを押してリターン。ここで一旦コマンドプロンプトを終了し、root.batを実行すると前に躓いたところをパスすることが出来て、無事rootが取れた。
ここまで来ればあとは大丈夫。次はテーマを適用だ。
お気に入りテーマであるtayutamaのVer.0618用のファイルがアップされていたので、解凍し中に入っているupdate.zipをrootフォルダのupdate.zipと入れ替えて再度カスタムリカバリを実行。するとまた例の箇所で躓いたので、同様の処理を行ってからroot.batを実行すると無事tayutama適用出来た。
一応立ち上がったものの、アプリがほとんど無くなっている。link2SDのマウントが遅かったので適用できなかったとかいうメッセージが出たので、どうもその影響らしい。再起動しても同様の症状を示すので、困った。
とりあえずLink2SDのメニューを開いて、その他→マウントスクリプトを再作成というのがあったので実行し、ext2を選択してから再起動するとエラーメッセージが消えて、SDカードのext2に移動したアプリも立ち上がるようになった。
TitaniumにUSBデバッグが有効になっていないというメッセージが起動の度に出るようになったが、OK押せば問題なく使用できている。腑に落ちないが…

いろんなキットを作ってくれた作者の方々には感謝申し上げたい。