一部のFroyoカスタムROMでFMラジオが聞けなくなる不具合を修正する(コピペ)

【root】SoftBank X06HT(HTC Desire)【ROM焼き】
http://toki.2ch.net/test/read.cgi/keitai/1280748895/405

405 名前:白ロムさん[sage] 投稿日:2010/08/05(木) 15:45:39 ID:Z+l2i+7K0

FMラジオアプリを改造して日本の周波数帯で使えるようにする方法を見つけたのでメモ。
さすがに改変したapkを配布するのは怖いので、手順だけ。

1. Official_FroYo_Market_fixed.zipを適当な場所に解凍する
2. 1のsystem\appからHtcFMRadio.apkとHtcFMRadio.odexを抜き出す。
  また、baksmali-1.2.4.jarとsmali-1.2.4.jarを入手し、HtcFMRadio.odexと同じフォルダに置く
3. コマンドプロンプトで以下のコマンドを実行

cd HtcFMRadio.odexのあるディレクト
java -jar baksmali-1.2.4.jar -d 1で解凍したディレクトリ\system\framework -x HtcFMRadio.odex

4. outフォルダに逆アセンブル結果が出力されるので、その中のcom\htc\fmのファイルを以下の通り書き換える
FMRadio.smali 8737行
.registers 7

.registers 8
に変更

FMRadio.smali 8741行
const/4 v3, 0x0

const/4 v3, 0x0
const/4 v5, 0x1
に変更

FMRadio.smali 8781行
iput-boolean v3, p0, Lcom/htc/fm/FMRadio;->mIsShowBandSwitch:Z

iput-boolean v5, p0, Lcom/htc/fm/FMRadio;->mIsShowBandSwitch:Z
に変更

FMController.smali 3579行
if-ne v0, v1, :cond_1f

if-ne p1, v1, :cond_1f
に変更

4. 3のコマンドプロンプトで引き続き以下のコマンドを実行すると、out.dexができる
java -jar smali-1.2.4.jar out

5. HtcFMRadio.apkをunzipし、解凍したフォルダにout.dexをコピーし、classes.dexに名前変更
6. META_INF、res、AndroidManifest.xml、classes.dex、resources.arscの5つのファイルをzipで固め、
 固めたzipファイルをHtcFMRadio.apkに名前変更。AutoSignなど使って、作ったHtcFMRadio.apkに署名
7. adb+リカバリモード、または、自分で差分アップデートromを作って本体に焼く