Nexsu7をAndroid 4.2にアップデート

先日root化ほか色々済ませたNexus7ですが、11月13日付でAndroid 4.2のアップデートが来ていることに15日になって気づいて、慌ててアップデートを掛けました。
root化したままCWM Recoveryを書き込んだままアップデートしようとしたところ……
まずバッテリが足りないとの警告が出てOTAによるアップデートに待ったが掛かりました。あとで調べたところ、20%以上でないとダメなようです。ということでまずはバッテリ充電。
充電が終わってやっとアップデートを開始したんですが、初っ端はBrowserProviderProxy.apkとBrowserProviderProxy.odexの無効化がチェックに引っかかり失敗。リネームしていたものをもとに戻しました。
次に、build.propの修正が引っ掛かり失敗。DPI値を書き換えていたのがダメだったようです。保存してあった元のファイルに戻しました。
再度の挑戦でようやくアップデートは通ったものの*1、CWM Recoveryが、install-recovery.shが生きているんで無効化するかどうかと、/system/xbin/suが壊れているんで直すかどうかを聞いてきました。install-recovery.shは無効化せず*2、suは直す、と選んで起動。たぶんここで修正しないと、root化が解除されるんじゃないかと思います。
本当ならこのまま普通にアップデートが終わるはずだったんですが、以前調子に乗ってSuperSUアプリをodex化していたのが仇になりました。odex化はシステムのフレームワーク部分に依存するので、フレームワークが書き換わるアップデートの後だと動かなくなってしまいます。suバイナリは残っているものの動かないSuperSUがシステムROMに居座り、CWM RecoveryはストックROMのリカバリに上書きされて消滅、SuperSUアプリを更新しようにもエラーが出てしまい更新できないという事態に(泣)。
泣きそうになりながら何とか修正しましたが、ひどい目にあいました。ちなみに、システムROMに入れていた他のアプリは全て残っていて、全てそのまま動いていたので、ヘンに弄っていなければ、おそらくroot化したままアップデートが終わると思います。その際には、CWM Recoveryの修復確認で下手な選択をしなようにしましょう。
で。元に戻していたDPI値の変更を再度加えて再起動して……あれ? タブレットUIになってない? と思ってWEBで情報を探したら、Android4.2のタブレットUIは拡大されたスマートフォンUI(=ファブレットUI)寄りに修正されたらしいですね。旧タイプのほうがなんとなく好きだったんですが……。
その後、復活させていたBrowserProviderProxy.apkとBrowserProviderProxy.odexをまた無効化しようとしたところで、何気にブラウザを起動させてみたら普通に動く。あれれ? なんで動くかな?? ちょっと検証して、ウチの環境だとリネームしなくてもブラウザが動く、というのにこの時気づいて、動くなら良しということで再度の無効化はせず。先日のroot化のエントリではそれを予め反映させています。
まあ、そんなこんなで、システムROMに入れるアプリは下手に弄らないほうが良い、という教訓を痛い授業料とともに得つつ、とりあえずNexus7はAndroid 4.2になりました。特に新フィーチャーに興味は無いので、淡々と使っていく事になると思います。

*1:CWM Recoveryはアップデートの起動に対応している模様

*2:ここでCWM Recoveryを残しておかなかったのであとで苦労をするはめに……。