Tech:android:nexusone:move
出典: Tariki
magicからの移行
まだまだmagicも電話として使うわけで、別にやめちゃう、という意味の移行ではないのだが。購入初期のAndroid環境の構築に関する自分メモ。
純正バージョンアップ
中古で人様が使用していたのを購入したのだが、ROOTEDなのを購入したため(当然保証なしということだ)、ROOT化手順あたりはスキップした。
Googleアカウントを設定することで電話帳やスケジュールがいつの間にか同期される。それはいいとして、さすがに『プロバイダ紐付きではない携帯電話』だけあって、はじめに(Googleアカウント設定より前に)WLANの設定をさせられる。つまり、magicでは (というか1.6までのOSでは) 何らかのROMをインストールすると、最初にGoogleアカウントを設定させられる。だがその時点ではネットワークが使えない (APNさえ設定していないので3Gも使えないと思うのだが) ために、Google同期したり、マーケットから必要なアプリを落とす前に、まずWLANの設定に入らなければならなかった。
まずGoogleアカウントを設定したら『バージョンアップしませんか』(OTA)というのでびっくりした (Nexusの2.1の最初のバージョンアップがきたー、というのは、届く1週間くらい前? に何かで読んで知ってはいた)。前オーナ様が使っているときにはこれはなかったのだろうか。ROOTEDなのでバージョンアップは無縁なんだろうな、と思いきや、そうでもないらしい。
ROOT化しただけの(ほぼ)純正ROMであれば、バージョンアップしてねのメッセージは頻繁に出る。ただし、いざバージョンアップしようとすると (ROMのチェックサムが合致しないから非純正とみなされて)失敗する。だが実は、(boot loaderを便利なRAに書き換えているのと、あとカーネルその他をいじっている場合はそれも) 元に戻してからバージョンアップして、再度ROOTを奪取する、という手順でよいらしい。
前オーナ様はbootloaderをRA 1.53にしていたので、それを元に戻す前にnandroidでバックアップを取る。次に上記の2番目の『フルリカバリ手順』で元に戻すが、fastboot erase userdata/cacheはしなかった。2日間くらいとはいえ構築した環境をいまさら一からやり直すのも面倒だったからである。まあただ上記にある『Passion_Google_WWE_1.01.1700.1_ERD79_release』をflushしてしまうということは、かなりの部分が『出荷直後状態』に戻ってしまうのだろうから、せめてapkバックアップくらいは取っておくべきだった (ROOTEDしてあるんだし) と後から気づいた。
なおWindows側もいままで1.6のSDKであったので、このたび2.1に上げておくことにする。ただし2.1を上書きインストールしようとしたら、『SDK Setup.exe』なるものが含まれている。これを旧ディレクトリにおいて実行してみたら、なんとインストール現況と最新の状態を比較してメニューでアップグレード対象が選べる (Cygwinがいまこういうのになってるよね)という優れものだった。これで2.1のSDKを入れると、自動的にNexus用のドライバがついてくるので、Nexusを挿すだけでadbできたり、天幕を下ろして『USB接続』するとマスストレージが使えるようになる。
ここで私は一個勘違いをしていたのだが、この状態に戻せばfastbootロック状態に戻りまた保証が効く、と思っていたら、そうではないらしい。『出荷直後だがアンロックされている』状態に戻るだけで、新品を買わなかった私はつまり永久に『保証は効かなくなるけどいいね?』質問をみることはないのだった。
さあそして出荷直後状態(?)からドロイド君をタッチしてWLANを活かしGoogleアカ……あれ? もうOTA質問をしてくる。そこでえいやっとUpgrade 1にしてしまった。
さらにUpgrade 1は出荷直後になる(?)のでまたドロイド君をタッチ、するやいなや、どうせまたRA recoveryに入れ替えるんだし、と起動だけ確認してRA化。
- 手順書/rooted(NexusOne) - 前出、bootloaderをRA化する部分。あとこの中にあるけど↓
- Nexus One Addon 0.1 - Makin' Bacon - これはROOTEDした後で便利と思われるさまざまな環境変更を追加するもの(tether OKなカーネルやbusybox・suなど)
ちなみに私はこれは一発でうまくいかなくて、何度かドロイド君が三角びっくりの前で慌てている(?)表示で立ち上がらなかったりして、再起動(電池抜き)したりいろいろやって切り抜けた。
Upgrade 1にすると何が良いかというと、純正ブラウザで指二本ズームとかができるようになるとか、まあ些細な変更。
さてここまで上記でなぜ『出荷直後』の後が『(?)』になっているかというと、実は運良く出荷直後にまでは戻っていなかったからである。環境をまた一から作り直しか、と思っていたら、なくなってしまったのはデスクトップの配置くらいなもので、アプリ類はきちんと残っておる (フリックWnnの設定など、アプリの設定をいじったところは失われていた)。そればかりか、主要な(出荷直後アプリが知っているべきと思われる)設定の多くはどうやら、Googleサーバにクラウドで吸い上げられているようなのだ。こりゃびっくりした。この機能がOS2.1のものなのか、はたまたこういう点がMotorola DroidではなくSony Ericson RachelではなくGoogle様のNexusを買ったご利益なのかどうかよくわからないのだが、とにかく便利だ。
まあでもBackup for ROOT usersは入れてしっかり個別(nandroidの丸ごとではない)バックアップも取ってはいますけどね。
その他のアプリ類
実はmagicは1.5ベースのカスタムROMで運用していたので、ほとんどのアプリは拾ってきて入れるだけであった(当然2.1に多くのアプリが対応している)。
マーケットで見つからなかったものといえば
- 中国日暦(ウィジェット): これはマーケット違いだから見つからなかっただけかも
- いくつかの野良アプリ: 名は伏せる。どうもライセンス的にグレーかブラックで流通していたものらしい
あたりだ。あとアプリ固有の設定とか蓄積データが膨大なものなんかは、(dbの名前とか場所とかも分かったし)おいおい移行するとする。
ひとつ困ったのがtetherである。3G通信の主要な目的のひとつがwireless tetherである。これさえあればmagicに挿していた3G通信用の (MVNOの) SIMをNexusに挿しっぱなしにしてかまわなくなる。
- 電話: HTC Cavalier、データ: magic
だったものを
- 電話: magic、データ: Nexus
と1世代新しく移行できる。
前項のaddonを入れるとwireless/wired tetherが使えるようになる、とあった。ところがwireless tether for ROOT users 1.8をダウンロード、いろいろいじってもいっこうに使えない。
- [http://code.google.com/p/android-wifi-tether/ android-wifi-tether
調べてみたら、現在のところ(2010年2月上旬)wireless tetherはNexusで使うのに問題があるとのこと。まあUSB接続のwired tetherでもいいや、と思い、ダウンロードしてインストールしてみる。
さて子機(ラップトップPCのほうだよ)はどうすんの? と思っても、誰もそこは問題にしていない。ただ
- RNDISが動いているOS (WinVista、Linux)ならいっぱつ。XPはRNDISドライバをインストールすべし
- (NDISってなんか懐かしい(笑))
なる謎の文言がいっぱいあるだけである。
えいやっとNexusでwired tetherを起動してUSB接続してみると、あら不思議Windowsがちゃんと『ドライバがありません』ダイアログを出してくる。
つまり、SDK2.1を入れたときにインストールされるNexusのドライバはadbとかマスストレージ用(こっちはドライバいるのかしらん)であって、wired tetherを起動するとその辺の一切のUSB接続を遮断してRNDISなるデバイスが接続されているように見せかけるらしい。考えてみたら当たり前で、USBモデム(RNDISではないけど)を一台新規に接続したのと同じようにみえる、ということだろう。
ところでHTC hero用のHTC syncがRNDISドライバを内包しているのでそれをインストールすべし、なる記述をあちこちでみたが、これはうまく認識してくれなかった(C:\Program Files\HTC\HTC Driver\Driver Files\XP_x86\ にあるが)。こちらで紹介されていたドライバを使ったらうまくいった。
