HTC Desire(SIMロックフリー)のroot化とHTC Senseを使いやすくするための備忘録

HTC Desire(SIMロックフリー版)がHTC台湾工場で修理を終えてから2ヶ月ほど経過しました。故障の直接の原因ともなった基板の発熱による無限リブート現象は姿を消し、若干の発熱は見られるものの何ら問題なく利用できています。ノーマル状態ではCJKフォントがなんともダサイいですし、メッセージアプリが使用できないのが不便であるため、再度rootを取ることにしました。自分の設定などを備忘録として残しておきたいと思います。
※HTC SenseのROMに満足しているのでカスタムROMはあまり考えていません。

root化した後はプログラムにSuperuserが追加されている
desire-rooted

注意喚起情報
root化はメーカー保証対象外となるほか、文鎮化する可能性もありますので自己責任で実施しましょう。この意味が分からない方はやらない方がよいです。またこの機種はソフトバンクが販売していたX06HTとは異なりますので下記の通り操作しても動作するかは不明です。

参考エントリ
HTC Desire(SIMロックフリー)をHTC台湾工場へ修理に出した顛末記

root化したHTC Desireの情報
欧州版HTC Desire(SIMロックフリー)
HBOOT 0.93.0001
RADIO 5.09.05.30_2
Android2.2(Froyo)

準備するもの
Android SDK – Download the Android SDK
Rooting and Reflash tool – unrevoked V3.21
Mac環境で実施しています。

HTC Desire(SIMロックフリー)のroot化
Desireを母艦のMacに接続
設定>アプリケーション>開発>USBデバッグにチェックを入れる
Mac側でunrevokedを実行

unrevoked321.png

以下の確認メセージが出るのでroot化のリスクが理解できたらOKボタンをクリック


unrevoked321-msg.png

何度かリブートを繰り返してRecoveryモードに入ったら、”reboot system now”を選択します。これでroot化完了です。

rootが取れていることを確認する
プログラムに”Superuser Permissions”という忍者アイコンが追加されています(上のスクリーンショット)。あるいは次の手順でSDKから確認することもできます。この手順はフォント入れ替え等、HTC Desireにおけるroot権限で操作する基本となるものです。

  1. HTC Desireをシャットダウン(Macに接続したままでOK)
  2. ボリュームボタンのマイナスを押しながら電源を入れる
  3. bootloaderが起動したら”RECOVERY”を選択

    bootloader-menu.jpg

  4. リカバリーメニューが起動

    recovery-menu.jpg

  5. Mac側でTerminalソフトを起動
  6. SDKにPATHを通していなければそのサブディレクトリのtoolsに移動
  7. “sudo ./adb shell”を実行しパスワードを入力
  8. プロンプトが”# “になっていればrootを取れています
  9. “Reboot system now”で再起動

ROM Managerのインストール
ROMのバックアップやリストア、カスタムROMのダウンロード、SDカードのパーティション設定などがアプリで可能になります。有料版の”ROM Manager Premium”を購入しました。利用するためにはroot権限が必要になりますので、”ACCEPT”を選択します。Superuserを起動するとACCEPTしたアプリの一覧が確認できます(下のスクリーンショット)。まず、現時点のバックアップを取っておき、”Desire.org”などのファイル名をつけておきます。


superuser.png

日本語フォントの差替えと絵文字の追加
HTC Desire(おそらくAndroid端末全部)には日本語専用フォントが入っていません。日本語のように見えるのは韓国語と中国語に対応したCJKフォントと言われる統合漢字フォントであるため美しくありません。また絵文字の入ったメールが届いても□が表示されて、文字化けしてしまう場合があります。

こちらのサイト(Android Custom Cookbook: 手順書/フォント変更)を参考にさせていただきました。フォントを用意(ライセンスに注意)し、ファイル名をそれぞれ次の通りにします。

日本語:DroidSansJapanese.ttf
絵文字:DroidSansFallback.ttf

2つのファイルを、HTC DesireをUSBケーブル接続し、接続タイプを”外部メモリーモード”にしてmicro SDカードにコピーしておきます。
HTC DesireはNexus Oneと違ってROMが起動しているとroot権限での操作ができません(情報提供Thx:@takada_)ので一旦、シャットダウンし、Recoveryモードで起動します。あるいはROM Managerアプリの”リカバリへ再起動”からRecoveryモードを起動します。USBケーブルでMacに接続した状態でTerminalから操作します。

$ sudo ./adb shell
# mount /sdcard/
# mount /system/
# cp /sdcard/DroidSansJapanese.ttf /system/fonts/
# cp /sdcard/DroidSansFallback.ttf /system/fonts/
# reboot

再起動すると変更したフォントが反映されているはずです。

SoftBankの黒SIMカードでMMSを使う
HTC標準のMessageアプリではSoftBankのMMSサービス使うことができません。2010年10月8日、Androidマーケットにリリースされた”SoftBankメール”を使用しますが、標準Messageアプリと競合してしまうため、今後使用する予定もないことから削除することにしました。また、APNも黒SIM用に設定しておく必要があります。

参考エントリ:HTC Desireで黒SIMのMMSができた

APN設定内容
APN: smile.world
Username: dna1trop
Password: so2t3k3m2a
MMSC: http://mms/
MMS proxy: smilemms.softbank.ne.jp
MMS port: 8080
APN type: default,supl,mms

標準Messageアプリを削除する
Recoveryモードを起動し、TerminalからHTC Desireにアクセスして、アプリを削除します。
$ sudo ./adb shell
# mount /system/
# rm /system/app/Mms.apk
# rm /system/app/Mms.odex
# reboot
Android MarketからSoftBankメールをインストールすると、それまでエラーで送受信できなかったMMSメールが使えるようになりました。

光学トラックボールにスリープ復帰を割り当てる
スリープ状態から復帰するときに、本体上辺の電源/スリープボタンを押すのが面倒なので光学トラックボールにスリープ解除を割り当ててみました。参考サイトの匿名投稿の方法を試してみました。
参考サイト:Desireのスリープ復帰を電源ボタン以外に割り当てる方法

  1. curcial-oj.klというファイルを作り、key 272 DPAD_CENTER WAKE_DROPPED と書いて保存します。必ず改行を加えてください。改行がないと正しく動作しませんでした。ファイルはSDKのtoolsディレクトリに保存しておきます。
  2. DesireをRecoveryモードに入れます。
  3. Terminalを起動し、SDKのtoolsディレクトリに移動します。次のコマンドを入力します(microSDカードを経由しない方法)。
    $ sudo ./adb shell mount /system/
    $ sudo ./adb push ./curcial-oj.kl /system/usr/keylayout/

  4. 本体を再起動します。

これで完了です。curcial-oj.klにある”key 272″は光学トラックボールに割り当てられたキーアサインで、他のボタンには違う番号が割り当てられています。確認するには、ClockworkModのリカバリイメージであれば、メニューの”advanced”から”Key Test”を選択して、ボタンを押してみると番号が表示されます。

バカでかい起動音を消音化する
DesireがEclair(Android2.1)だった頃に起動音が大きいのは有名な話です。それを消すためにはシャットダウン時にサイレントにしておくか、”Silent Boot”というアプリを使う方法がありました。Froyo(Android2.2)になってからは起動音が小さくなってヤレヤレと思っていたのですが、root化が原因かは不明ですが、rootを取ってからまた大きな起動音に戻ってしまいました。これを完全に消音化してみました。

UIやRingtoneは”/system/media/audio/”の下にありますが、起動音は”/system/customize/resource/android_audio.mp3″にありました。これを無音のmp3に差し替えるだけです。

  1. 無音のandroid_audio.mp3を作ります。ファイルはSDKのtoolsディレクトリに保存しておきます。
  2. DesireをRecoveryモードに入れます。
  3. Terminalを起動し、SDKのtoolsディレクトリに移動します。次のコマンドを入力します(microSDカードを経由しない方法)。rw権限の修正もしておく。
    $ sudo ./adb shell mount /system/
    $ sudo ./adb push ./android_audio.mp3 /system/customize/resource/
    $ sudo ./adb shell
    # chmod 644 /system/customize/resource/android_audio.mp3

  4. 本体を再起動します。起動音はありません。

オリジナルと無音のandroid_audio.mp3はこちらにアップロードしました。
無音:http://www.mediafire.com/?70pix16dm014e1q
オリジナル:http://www.mediafire.com/?omqj7g7b8178izm


Update Information —-
[2010年10月30日]光学トラックボールにスリープ復帰を割り当てる方法を追記
[2010年10月31日]起動音を消す方法を追記