2010年11月4日

HT-03AにAndroid2.2導入する方法(詳細):カスタムROM導入手順+おすすめカスタムROM

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
追記(2010/11/05)
※いろいろ検証した感じですと、以下の操作でXperiaでroot権限は取れますので、フォントの変更やroot権限アプリの使用はできますが、カスタムROMの作成はできない可能性が高いです
原因:Xperiaのリカバリイメージが開発されていない


ですので、Xpeiraの方はコムギドットネットさんのメモを参考にAndroid2.1を入れるか公式発表があるまで待つことをおすすめします
コムギドットネット:Xperia SO-01B に Android 2.1 を入れるメモ


自分で動作確認せずにポストを書いてしまったことを深くお詫びします
またもしX10用のリカバリイメージがあれば、同様にカスタムROMの導入は可能ですので、見つかった場合は追記として書きますのでよろしくお願いします
(動作確認が取れるまでタイトルを変更させていただきました、申し訳ありません)




さて、前回カスタムROMでのHT-03A、XperiaにおけるAndroid2.2の導入の概要を説明しましたが、今回は実際に導入手順の詳細について説明します

参考文献はこちらなど



※注意
・ここで用いているのはPC:Ubuntu10.10 , Mobile:HT-03A Android1.6です
・UbuntuとWindows or Macで多少違いはありますが、フォルダ+コマンド等はほぼ同じなので大丈夫かと思います
・コマンドにおけるフォルダは適宜自分のフォルダの階層に直してください
・必ずカスタムROMを導入する前に今の状態(公式版ROM)をバックアップしておいてください(バックアップ方法に関しては後述)
・追記:パスの設定方法が多少違っていましたので追記を参照してください。またコマンドプロンプトでは"/"は"¥"に適宜変更してください。そんなにコマンドプロンプトを使うわけではないので大丈夫だとは思いますが、コマンドプロンプトに関する基本的な知識はこちら



[0]導入前(準備)
1.まず手持ちのAndroidのroot権限をもつ
:root権限とはAndroidのシステムの変更許可を持つことです。Ubuntuユーザーには馴染みかと思いますが、これからOSをいじるので、root権限が必須になります

Menu>設定>アプリケーション
から提供元不明のアプリにチェックを入れる

Universal AndrootこちらのサイトのQRコードからインストールし、Root :-) を押しroot化


2.アプリのバックアップ
:新たにインストールしたカスタムROMに一からアプリを入れるのは面倒なのでバックアップ+リカバリで復元する

Android Marketで検索し、Titanium Backupをインストール
※無料版でも大丈夫ですが、遅い上にかなり不便です。ちなみに有料版を買う場合無料版をインストールした上でインストールしましょう

Titanium Backupで
Menu>バッチ処理>バックアップ:全ユーザアプリ
でバックアップを取る


3.BusyBoxのインストール
:PCからのコマンド入力を可能にするためにBusyBoxをインストールします

Android Marketで検索し、BusyBoxをインストール

root化している場合Installを選択することで、コマンド入力が可能になります


4.PCにAndroid SDKを入れる
:すでにある人は飛ばして大丈夫です

このサイトから自分のOSのものをダウンロード+インストール

ここでは /home/ryo/Documents の下に android-sdk-linux_x86 というAndroid SDKフォルダを置いたこととして話を進めます
適宜自分のフォルダに直してコマンドを入力してください
(例)
Ubuntu場合: /usr/android-sdk-linux_x86
Windowsの場合: C:¥android-sdk-windows


Android SDKの導入に関する詳しい説明はUbuntuであればここやWindowsであればここにありますので適宜参照してください

次に
Menu>設定>アプリケーション>開発
からUSBデバッグにチェックを入れ、USBのコネクタでPCに接続
PC側でデバイスが認識されるか見ます

※以降の記述はWindowsの場合パスの通し方が多少異なるので追記を参照してください


確かめる方法は端末から

$ cd /home/ryo/Documents/android-sdk-linux_x86/tools
$ export PATH=${PATH}:/home/ryo/Documents/android-sdk-linux_x86/tools^C
$ adb devices

と入力して ?????? となってなくてきちんとデバイスとして認識されていたらOK
(例)
ryo@ryo:~/Documents/android-sdk-linux_x86/tools$ adb devices
List of devices attached
HT96TLF03929 device

ぼくの場合、特にここの段階が手こずりました

(ちなみにスクリーンショット取りたい場合toolsの中にあるddmsからできます)


5.Androidにリカバリモードの導入
:カスタムROMを入れるためにはリカバリする必要があり、その手続き

こちらからflash_imageを、こちらからrecovery-RA-sapphire-v1.7.0G.imgをそれぞれダウンロード

AndroidからmicroSDを取り出し、ダウンロードしてきたファイルをmicroSDにコピー(フォルダに入れずSDの直下に)



[1]導入
1.リカバリイメージの起動
:準備でダウンロードしたflash_imageとRA-sapphireを実行します

端末で先ほどと同様にディレクトリを移動しパスを通し次のコマンドを入力します
※Windowsの場合コマンドプロンプトを用いますので追記を参照してください

$ export PATH=${PATH}:/home/ryo/Documents/android-sdk-linux_x86/tools^C
$ adb shell
$ su
# mount -o remount,rw /dev/block/mtdblock3 /system
# cp /sdcard/flash_image /system/bin/flash_image
# chmod 755 /system/bin/flash_image
# flash_image recovery /sdcard/recovery-RA-sapphire-v1.7.0G.img
# reboot recovery


うまくいけばリカバリモードが起動され、概要で説明したような画面になるはずです
もしパスが通っていなかったりデバイスが認識されていない場合 adb コマンドがうまくいかず、BusyBoxがインストールできていないとコマンド操作ができず cp のところでエラーが出ます

ここまでいけるかが一番の山だと思います
ここから先はバックアップなど重要な手続きはありますが、そんなに苦労することはないと思うので追記に書いたトラブルシューティング(特にWindowsの方は参考にしてください)


2.デフォルトROMのバックアップ
:わずれずに バックアップを取っておけば、壁紙から設定、アプリまで全てがバックアップ時の状態になります

概要で説明したとおり
-Backup/Restore>-Nand backup
でHomeボタンを押せばバックアップが始まります

バックアップされたイメージファイルはSDカードのnandroidフォルダに保存されますので、一応PCにもコピーしておきましょう

ちなみに元に戻したいときは
-Backup/Restore>-Nand restore
からファイルを選べば元に戻りますので、ここまでしておけば安心


3.カスタムROMを焼く
:さてここからが本番です 

カスタムROMはいくらでもディストリビューションがありますが、ここではとりあえず安定してい速いHypderJを使います
一度やり方がわかれば、あとは楽なのでいくらでもすきなようにやっちゃってください

こちらのサイトからHYPER_J_1.5.zipをダウンロード
もしダウンロードできなければ他のミラーサイトから探してください

これをzipファイルのままmicroSDにコピー(これもSDカードの直下に置いてください)

あとは概要で説明したとおり

-Wipe>-Wipe data/factory_reset
で工場出荷状態に戻し

-Flash zip from sdcard>HYPER_j_1.5.zip
を選択しHomeを押しインストール開始!

Install from sdcared complete.
と出るのを待つ

インストール完了したら

-Reboot system now
を選択し再起動!

これでうまくいけばHyperJというカスタムROMになるはずです
デザリングができますし、HT-03Aの方はGoogle Mapでマルチタッチが使えますし、普通にめちゃくちゃ速いです


もし他のカスタムROMをいれたい場合はAndroidをUSBに接続し

$ export PATH=${PATH}:/home/ryo/Documents/android-sdk-linux_x86/tools^C
$ adb shell
$ su
# reboot recovery

として以上の操作を同様にすればできます


[2]導入後
1.Titanium Backupからアプリを戻す
Android MarketからTitanium Backupをインストールして

Menu>バッチ処理>リストア:未復元のアプリとデータ
でリストアが始まります(無料版の場合一つ一つになります笑)


ここまできたらあとはこっちのもんでしょう

以上で導入手順の説明を終わります

Android2.2を無事入れることが出来たでしょうか?


さて、今回一日潰していろいろなカスタムROMをいろいろ試していたのですが、結論からいうとHT-03AのスペックではHyperJが最もいいかと思われます

これはぼくが速さを最重要視しているせいもありますが、やはり一番サクサク動きます

Android2.2は楽しいですし、ブラウザの通信速度もかなり向上しているのですが、カスタムホームアプリ(ADWやHOME++など)を使っているせいもあってか、アプリのドローでかなり時間くってました

Xperiaは多少スペック上がってますし、HT-03Aでもそんなことないよ、という人がいましたらコメントにぜひご一報ください

で、Android2.2のカスタムROMでしたらSpeedTeam v3.1.1が一番いけました

こちらのサイトからSpeedTeamv3.1.1.zipgapps-mdpi-tiny-20100814-signed.zipを同じように入れて再起動(後者はGoogleのアプリ関係です)

ぜひ、いろいろ試して楽しいAndroid生活を送ってください!

そして成功例、エラー例やこのポスト使えない、など後の人のためにぜひ気軽にコメントに残していただけると助かります

そしてそしてもし役立ったというかたがいましたらFacebook Fan Pageやってるので、左にあるリンクまたは、ホームにあるLike!押してやってください笑(ただの自己満ですが)


こちらも参照してください

Android100% [2010.Autumn]―ケータイの未来を変える「Android」専門情報総合誌 (100%ムックシリーズ)Android100% [2010.Autumn]―ケータイの未来を変える「Android」専門情報総合誌 (100%ムックシリーズ)

晋遊舎 2010-10-27
売り上げランキング : 1611

Amazonで詳しく見る by G-Tools

Linux100% Vol.15 -Ubuntu10.10&Windows連携パーフェクトガイド- (100%ムックシリーズ)Linux100% Vol.15 -Ubuntu10.10&Windows連携パーフェクトガイド- (100%ムックシリーズ)

晋遊舎 2010-10-30
売り上げランキング : 15954

Amazonで詳しく見る by G-Tools



最後に今回速くなって大量に入れたアプリの中で秀逸だっとやつの紹介(詳しくはオクトバとかで検索してください)
・AppMonster:アンインストーラ
・Bookmark Home:激アツ
・TaskTray:マルチタスク
・LinkPush:PCブラウザ同期(Chrome to Phone的な)
・マッシュドアー:FlickWnnでmashroom使う


さて一日を無駄にしてしまった
明日から勉強に戻ろう Acemogluの成長論やらんと・・・



追記(2010/11/04)
一応トラブルシューティングを書いておきます

1.そもそもPC側にUSBのデバイスが認識されていない
>Android側の問題
USBデバッグにチェックを入れてください

2.デバイスはあるが、Androidとして認識されていない
>abd devicesでチェックして??????になっている場合やddmsでデバイス名が?????になってたりする場合は /etc/udev/rules.d/ にHT-03AまたはXperiaをデバイスとして認識するためのファイルを置かなければいけません
参考文献はこちらこちら

$ sudo gedit /etc/udev/rules.d/51-android.rules

と打ち込み(ファイル名は適当)

HT-03Aの場合

SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"


Xperiaの場合

SUBSYSTEM=="usb", SYSFS{idVendor}=="0fce", MODE="0666"

と記述して保存
その後に再びパスをとおしてadbをリスタートさせ読み込ませます

$ export PATH=${PATH}:/home/ryo/Documents/android-sdk-linux_x86/tools
$ adb kill-server ; sudo /home/ryo/Documetns/android-sdk-linux_x86/tools/adb start-server
* daemon not running. starting it now *
* daemon started successfully *

とすれば認識するはずです


3.リカバリモードにするコマンドでエラーが出る
>原因はおそらくパスがAndroid SDKにパスが通ってない可能性が大きいです

Ubuntuの場合は上記のコマンドでパスが通るはずです
もし出来ていない場合、おそらくコマンドが間違っている(/home/ryo/Documetns/...で入力しているなど)かと思います
確認してください

Windowsの場合はぼくの環境では家はUbuntuのみ、大学はMacのみでWindowsに触る環境がないのでちょっとこころもとないですが、こちらを参考にした場合

[0]導入前(準備)(Windows)
4.PCにAndroid SDKを入れる(Windows)
:すでにある人は飛ばして大丈夫です


1.マイコンピュータを右クリックして、プロパティを選択
2.「詳細設定」のタブを開いて、「環境変数」をクリック
3.「システム環境変数」の中から、「path」という項目を選択して、「編集」をクリック
4.変数値の最後の部分にandroid-sdk置いた場所を書き込み
5.ウィンドウズメニューの中の「プログラム」の「アクセサリ」の中に「コマンドプロンプト」を起動
6.起動したら「path」と書き込んでEnter
7.そこに先ほど書き込んだpathが出てくれば完了

4については例えばCの直下にandroid-sdk-windowsを解凍した場合.
「;C:¥android-sdk-windows¥tools」 としてパスの前に必ず「;」を入れるらしいです
ちなみにWindowsの場合"/"の代わりに"¥"になるため注意してください

ここまでやり無事バスが通った場合Windowsだと

[1]導入(Windows)
1.リカバリイメージの起動(Windows)
:準備でダウンロードしたflash_imageとRA-sapphireを実行します

コマンドプロンプトから
※Androidにおけるコマンドをコマンドプロンプトから打ち込んでいるだけなので、Windowsでも"/"は"¥"に直さないでください

> adb shell
$ su
# mount -o remount,rw /dev/block/mtdblock3 /system
# cp /sdcard/flash_image /system/bin/flash_image
# chmod 755 /system/bin/flash_image
# flash_image recovery /sdcard/recovery-RA-sapphire-v1.7.0G.img
# reboot recovery

とすれば大丈夫かと思います
もしこれでもcpで引っかかる場合はAndroid内のBusyBoxがきちんとインストールできていないかと思われますのでチェックしてください


おそらくreboot recoveryまでいければあとは大丈夫かと思います

コメントくださった方どうもありがとうございました
引き続き成功・失敗報告よろしくおねがいします


追記(2010/11/04)
体感速度的なのを載せておきます
Android Marketなどでも一切落ちずにかなり速くなりストレスがなくなりました



そして追記は役に立ったでしょうか?
ぜひ成功報告お待ちしてます

Related Posts
-HT-03A,XperiaにAndroid2.2導入する方法(概要)
-Ubuntu 10.10 最初にやること+TeXの設定(初心者用)
-ブログの更新をFacebookファンページと連携させる方法
-Androidおすすめアプリ

9 件のコメント:

  1. 初めまして、参考にさせていただいております。

    手順通りにやってみているのですがリカバリモードのところで苦戦しています・・・

    windowsのやり方で再度解説して頂けたら幸いです><

    返信削除
  2. 手順通りに進みcp /sdcard/flash_image /system/bin/flash_imageと入力するとcp: can't stat '/sdcard/flash_image': No such file or directoryとなってしまいます。

    返信削除
  3. あとでトラブルシューティング書きます

    だたおそらくデバイスを認識していない可能性が高いです

    ddmsもしくは上に挙げた /adb devices で確認してください

    デバイス名が出ていない場合

    /etc/udev にXperia用のファイルを追加する必要があります

    とりあえずddmsで画像キャプチャが撮れているかどうか報告してください

    返信削除
  4. ありがとうございます。
    画像キャプチャ撮ることはできています。

    返信削除
  5. はじめまして
    大変わかりやすい解説で助かっております

    途中までは、順調だったのですが、「flash_image recovery /sdcard/recovery-RA-sapphire-v1.7.0G.img」と入れたところで、「can't find recovery partition」となってしまいました

    解決策をご存知でしたら教えていただけませんか?
    お願いします

    返信削除
  6. xperiaですが、やはり同じところでつまずいてしまいます。chmod 755 /system/bin/flash_image、flash_image recovery /sdcard/recovery-RA-sapphire-v1.7.0G.imgの入力はエラーでません。

    返信削除
  7. >shimizuさん
    cp(copy)が出来てるならばsdcardの直下にflash_imageはあるのでしょう
    としたらあと一歩だと思われます

    今すぐには答えを出せないので、学校が終わったら調べてみます


    >kazuさん
    cpのところでつまずいている場合sdcardの直下にflash_imageがコピーできていないことを言っているので、その後のコマンドを打っても意味はありません

    1.そもそも/system/bin/flash_imageがない
    >>http://blog.pdns.jp/?p=333やhttp://d.hatena.ne.jp/planetsquare/20100116/1263572254を参考にしてください

    2.コマンドができない
    >>おそらく1である可能性が大きいですが、コマンド入力ができていなければBusyBoxの方だと思います

    返信削除
  8. >shimizuさん
    コムギドットネットさんがこんな記事描いてました
    http://komugi.net/archives/2010/02/15151306.php

    おそらく原因はHT-03AとX10でリカバリイメージが異なる点だと思われます
    (recovery-RA-******.imgの******の部分)

    この点に関して自分で確かめずにこのポストを書いてしまったこと謝罪します


    xda ddevelopersなどで探してみますが、もしかしたらXperiaのリカバリイメージが開発されてない可能性もあるので、下のリンクを参考にしてか、公式にAndroid2.1を入れるのが無難かもしれません

    申し訳ありませんでした

    返信削除