2012年1月13日金曜日

カスタムリカバリからOTA Update適用させてみる

タイトル適当

OTAでの差分アップデートだと/system書き換えたのを戻すのが面倒だったりroot取れなくなる可能性があったりBootloader書き換えられMotorolaPhotonのような非公式BootloaderUnlockが出来なくなってしまったりと色々面倒なのでなんとかならないかねぇ…ってのがコレ

前から調べよう調べようと思ってたのですが面倒臭くて放置してたOTAアップデートファイルのhoge.pの適用方法について8796.jp管理日誌の人がまとめてくれたので有り難く使わさせてもらいます。


パッチ当てるファイル多く、手動で当てるの面倒くさすぎるのでスクリプト書きました。
とりあえずファイル置いておきます。
Applying OTA Update Patch[hoge.p] w/o RecoveryMode

使い方は/sdcard/otaupdate/srcdirにパッチ適用前の元ファイルを入れる…/systemとかMotorolaの場合だと/webtopとかをディレクトリごと突っ込んで下さい。
んで、/sdcard/otaupdate/tgtdirにOTA Updateの.zip展開したものを入れときます。

次にダウンロードしたapply_update.shを適当なディレクトリに入れ、実行権限付けて実行、そんだけ…あ、suで実行して下さい、#で。
tgtdirのhoge.pと同じディレクトリにパッチを適用した.apkとか.odexとかが保存されます。
あとはパッチ適用されたファイルを用い、カスタムROM作る要領で野良update.zip作ってFlash、Happy!

パッチの適用は.apk等のファイルだけでなく、MTDなんちゃらbootみたいなパーティションにも適用される場合があるのですが自動化するの面倒くさいので必要なら手動で適用して下さい…
updater-scriptがあるディレクトリにapply_patch_mtdってファイル吐き出すようにはしときました。

すごくテキトーでごめんなさい。

#なんなんかわいい

--
MotorolaRAZR XT910でしか動作確認してません…途中までMotorolaPhoton向けに作ってたのでPhotonでも動くと思いますけど…
apply_patchの行がモノによってちょっと違う感じなのでうまく動かなかったら書きなおして下さい…