ラベル rooted の投稿を表示しています。 すべての投稿を表示
ラベル rooted の投稿を表示しています。 すべての投稿を表示

2010年3月26日金曜日

from Eclair to Eclair

2.0 も 2.1 もどちらも Eclair なのね。私はてっきり 2.1 が Flan あるいは Froyo だと思ってた。

待ちに待っていた MILESTONE の 2.1 へのアップデート。akiran’s blog から情報を得て、記述の通りで無事にアップデート完了。といっても、私の PC 環境 (Win7/64bit) では、Motorola 謹製のアップデートソフトウェアがドライバのインストールでフリーズするという問題が発生。何度もドライバのインストールを繰り返して何とかたどり着いたというのが正直なところ。

しかも、このアップデートでは当然 root が取れていない。なので、Voice Search が動作しない、Market Enabler が使えない、フォントも変更できない、とないない尽くし。そこで、上記の
akiran’s blog にあるドイツのサイトを参考に 2.1 へアップデートし、root化も実施する。

第二外国語でドイツ語を受講してたが、そんな知識では歯が立たないので、アドバイス通りに Google 翻訳を利用。ドイツ語->英語に翻訳したのが下記。因みにドイツ語->日本語にするととんでもない訳になってさっぱり解らない。

ここで紹介されているアップデート方法は、RSD Lite を使って SBF ファイルを書き込む方法。2.0.1 にアップデートする際に利用した。SBF ファイルのアーカイブがあるので、元の 2.0.1 や 2.0 に戻すことも可能。

今回の root 化の特徴は、まず 2.1 にアップデートしておき、一旦 2.0.1 に部分的に戻し、root 化を行なうということ。元々、root 化はバグを突いてsuを潜り込ませるものらしいので、2.0.1 のバグがあるところだけ戻すという方法を採っているのだと思う。これは完全に私の憶測。

▼ドイツ語による手順
Die wichtigsten Dateien und Schritte hier nun im Überblick:

Download der Android 2.1 Final für das Milestone : SHOLS_U2_02.31.0
Die heruntergeladene Datei entpacken und mit RSD Lite flashen
Download der offenen Recovery aus dem Android 2.0 Image: SHOLS_U2_01.14.0_recovery_only.zip
Die heruntergeladene Datei entpacken und mit RSD Lite flashen
Unsere Update.zip herunterladen: nodch.de Update.zip für Motorola Milestone Root
Die Update.zip auf die Speicherkarte ins Hauptverzeichnis kopieren
Das Milestone in den Recovery Modus starten und die update.zip ausführen

▼ドイツ語から英語に翻訳
The most important files, and here are steps in the overview:

Download the Android 2.1 for the Final Milestone: SHOLS_U2_02.31.0
The downloaded file unzip it and flash with RSD Lite
Download the open recovery from the Android 2.0 Image: SHOLS_U2_01.14.0_recovery_only.zip
The downloaded file unzip it and flash with RSD Lite
Download Our Update.zip: nodch.de Update.zip for Motorola Milestone Root
The Update.zip copy to the memory card into the main directory
The milestone in the recovery mode and start the run Update.zip

▼日本語
1 SHOLS_U2_02.31.0 をダウンロードして解凍し、SBF ファイルを取り出して、RSD Lite にて MILESTONE に書き込む。
2 SHOLS_U2_01.14.0_recovery_only.zip をダウンロードして解凍し、SBF ファイルを取り出して RSD Lite にて MILESTONE に書き込む。
3 nodch.de Update.zip für Motorola Milestone Root をダウンロードし、zip ファイルをそのまま SD カードにコピーし、MILESTONE をリカバリーモードで立ち上げて update.zip を実行する。

後は setupsu.apk をインストールする以前の手順で root 化が可能。

下記の左を見ると Firmware version が 『2.1-update1』になっている。また、最初の Motorola のアップデートソフトウェアでのアップデートでは、インストールしていたアプリやそのデータ、設定はそのまま残っていた。しかし、RSD Lite で SBF ファイルを書き込む場合は真っ新になる。下記の中央と右はアップデートでのデフォルトのアプリ一覧。













気になるのは、『Camera』のアイコンが変わっている。デザインといいカラーといい、まるで Optio I-10 のようだ。それと『Camcorder』のアイコン。2.0.1 までは Camera をムービーモードにするという方式だったが、 2.1 では独立のアプリとなっている。

2010年3月1日月曜日

キャリアーフェイク ~MarketEnabler~

MILESTONE は SIM 無し運用のため、アンドロイドマーケットで有料アプリがダウンロード出来なかった。しかし、root化したことで、MarketEnablerを使えばこれが可能になる。

左側は SIM 無しそのままの場合。

右側は MarketEnabler で T-Mbile とフェイクした場合。

おわかりいただけただろうか。
最上段に『UK£2.50』、最下段に『¥500』のアプリが表示されている。




アンドロイドマーケットでは、端末に挿している SIM でキャリアを判断し、アクセス先を決めているよう。なので、SIM 無しでは有料アプリが表示されない。SIM が無ければこの状況はいかんともし難い。だが、 root化すればこのキャリアをフェイクすることが出来る。












アプリを実行するとまず現状が表示される。SIM 無しなので『gsm.sim.operator.numeric』が空欄になっている。そこで、『Settings list』タブを選択するとフェイクするキャリアの一覧が表示されるので、適当に選んで長押しするとポップアップリストが現われる。これを選択すると、スーパーユーザーのアクセス権を承認する画面になるので承認する。これで、フェイク完了。最初の『Actual』タブに戻ると先の『gsm.sim.operator.numeric』が設定されている。












これまでは T-Mobile を選択していたが、docomo の ID がわかったので docomo 端末になりすませるようになった。

2010年1月30日土曜日

2010年 / の旅

MILESTONE の root 化をして、android は Linux なんだということを実感。早速、フォントを置き換えたり、Google Map Navigation を有効にしたり、Market Enabler を使いたいのだが、せっかくなので、中身をちょっと眺めてみる。『meminfo』や『dmsg』など、昔の自分の記憶をたどっていろいろやってみた。けっこう忘れているコマンドもあったりする。

まずは 『/』 。









お次は、マウントしているものを。先日、はまった 『/sdcard』 もマウントされている。android のファイルシステムは yaffs2 。『/system』は書き込み禁止(ro)になっている。『/data』は書き込み可(rw)で、ユーザーがインストールしたアプリなどはここに保存されるよう。









更に『/system/fonts』。ここのフォントファイルを置き換えることで、MILESTONE のフォントを変更することができる。これはまだ変更前のデフォルトの状態。フォントディレクトリは書き込み禁止の『/system』フォント下にあるので root 化しないと変更できない。









『/system/app』にはデフォルトのアプリの apk ファイルがある。Motonav や YouTube、Maps、Gmail などの apk があるのがわかる。日本での Google Map Navigation を有効にするには、ここにある Maps を消去して、パッチを当てたバージョンをインストールする必要がある。(root を取らずにデフォルトの Maps.apk と別にインストールする方法もある。)









『/data/app』にはインストールしたアプリの apk ファイルがある。私がインストールした simeji や DroidWing、DolphinBrowser の apk がある。









『/data/data』には各アプリのサブディレクトリがあり、キャッシュや設定、ライブラリなどが置かれているよう。









最後は『/proc/meminfo』。

2010年1月29日金曜日

su になり、VoiceSearch を復活させる 後編

前編では su になるところまで辿り着いた。後編では、機能しなくなった VoiceSearch を復活させる。root 化に関しては、コムギさんMaster.Tさんmeyskldさんが参考になる。

VoiceSearch の復活に関してはmeyskldさんのところで紹介されていたここの情報を元にしている。

手順
1. VoiceSearch.apk のインストール
2. libspeech.so の置き換え

実際の操作については、
手順 1. MILESTONE で行なう、
手順 2. MILESTONE を PC と USB で接続し、 adb shell 上で行なう、
ということになる。

1. VoiceSearch.apk のインストール
(a) VoiceSearch.apk ファイルを SD カードにコピー
(b) ASTRO File Manager で VoiceSearch.apk ファイルを実行
(c) Open App Manager を選択し、Install を選択してインストール

2. libspeech.so の置き換え
(a) libspeech.so ファイルを SD カードにコピー
※ここから adb shell で行なう
(b) adb shell で /system を書き込み可能な状態 (rw) でマウントしなおす
(c) libspeech.so を強制的に (-f オプション) コピーする
※実際のコマンド入力と結果は下記のようになる
D:\android-sdk-windows\tools>adb shell
$ su
su
# mount
mount
rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
none /dev/cpuctl cgroup rw,cpu 0 0
/dev/block/mtdblock6 /system yaffs2 ro 0 0
/dev/block/mtdblock8 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock7 /cache yaffs2 rw,nosuid,nodev 0 0
tmpfs /tmp tmpfs rw,size=2048k 0 0
/dev/block/mtdblock0 /pds yaffs2 rw,nosuid,nodev 0 0
/dev/block//vold/179:1 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=
1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,s
hortname=mixed,utf8,errors=remount-ro 0 0
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock6 /system
mount -o remount,rw -t yaffs2 /dev/block/mtdblock6 /system
# mount
mount
rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
none /dev/cpuctl cgroup rw,cpu 0 0
/dev/block/mtdblock6 /system yaffs2 rw 0 0
/dev/block/mtdblock8 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock7 /cache yaffs2 rw,nosuid,nodev 0 0
tmpfs /tmp tmpfs rw,size=2048k 0 0
/dev/block/mtdblock0 /pds yaffs2 rw,nosuid,nodev 0 0
/dev/block//vold/179:1 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=
1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,s
hortname=mixed,utf8,errors=remount-ro 0 0
# cp -f /sdcard/libspeech.so /system/lib/libspeech.so
cp -f /sdcard/libspeech.so /system/lib/libspeech.so
# mount -o remount,ro -t yaffs2 /dev/block/mtdblock6 /system
mount -o remount,ro -t yaffs2 /dev/block/mtdblock6 /system
# mount
mount
rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
none /dev/cpuctl cgroup rw,cpu 0 0
/dev/block/mtdblock6 /system yaffs2 ro 0 0
/dev/block/mtdblock8 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock7 /cache yaffs2 rw,nosuid,nodev 0 0
tmpfs /tmp tmpfs rw,size=2048k 0 0
/dev/block/mtdblock0 /pds yaffs2 rw,nosuid,nodev 0 0
/dev/block//vold/179:1 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=
1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,s
hortname=mixed,utf8,errors=remount-ro 0 0
#
終了。これで、VoiceSearch が復活している。

ここではまったのは、『SD カードをアンマウントしろ』、と記述があるので MILESTONE の Settings でアンマウトして作業に入ったところ、SD カードにある libspeech.so が見当らないというエラーが出た。/sdcard に何もマウントされていない状況になっていた。で、SD カードっぽいものを /dev で探すが見当らない。/dev/hda とか /dev/sda っぽいんじゃないかと思っていたが違う。検索すると sdutil というコマンドがあるらしい。しかし、このコマンドも知らないと言われてしまう。もうちょっと検索すると /dev/block//vold/179:1 が SD カードっぽい。当てずっぽうで、rw と vfat でマウントしてみるとうまくいき、SD カードにある libspeech.so にアクセスできるようになった。

作業していて /system の中を見たりしていると、android って Linux なんだなってのを実感した。以前に Debian を使っていたので懐しいのとともに、今回はその貧弱な知識ではあるがちょっと役立った。こういう作業は面白い。android 端末を選んで良かったと思うところだ。

2010年1月28日木曜日

su になり、VoiceSearch を復活させる 前編

私の MILESTONE も無事に 2.0.1 にアップデートできたのだが、音声検索ができない。せっかくの VoiceSearch ができないのはもったいないので、復活させるために root 化が必要となる。フォントはもう少し様子を見ても良いので、root 化は暫く置いておこうと考えていたところ。だが、VoiceSearch は、フォントの入れ替えよりも優先度が高いため root 化することにする。

この root 化も先人の導きがあるので、それに従えば問題無く root 化できる。しかし、自分ははまってしまった。はまったのは2箇所。まず、adb shell で su になるのだが MILESTONE 本体の方で superuser のパーミッションを承認するところ、加えて VoiceSearch を復活させる手順での sdcard のマウントに関して。

必要なもの
milestone_root -> boot時にこのファイルを実行させる
setupsu.apk -> su コマンドと busybox をインストール
VoiceSearch.apk -> VoiceSearch をインストール
libspeech.so -> /system/lib のものと置き換える
android SDK の adb を使用するのでインストールしておく

手順
1. milestone_root を実行させる
(a) milestone_root を update.zip というファイル名でSDカードのルートディレクトリにコピー
(b) MILESTONE を PowerOff
(c) カメラボタンを押しながら電源を入れる -> 左図
(d) ボリュームアップボタンうを押しながら、カメラボタンを押す -> 中図
(e) リカバリーモードが立ち上がるので、apply sdcard:update.zip を選択し実行
(f) Install drom sdcard complete. となり成功 -> 右図
(g) 再起動する













2. su と busybox のインストール
(a) setupsu.apk ファイルを SD カードにコピー
(b) ASTRO File Manager で setupsu.apk ファイルを実行
(c) Open App Manager を選択し、Install を選択してインストール













3. su になる
(a) MILESTONE を USB で PC と接続
(b) Windows のコマンドプロンプトを開く
(c) コマンドプロンプトで adb shell を実行
(d) adb shell で su コマンドを実行
※コマンドプロンプトでは下記のようになる
D:\android-sdk-windows\tools>adb shell
$ su
su
(e) MILESTONE で su のパーミッションの認証をする -> 左図
※MILESTONE 本体の方で yes ボタンをタップする
(f) ddms を立ち上げていれば superuser になったことが確認できる -> 右図













これで root 化し、su になることができたのでカスタマイズが可能。フォントの入れ替えやGoogle Map Navi を使えるようにしたり、 Market Enabler を入れるなどができるはず。

長くなったので VoiceSearch の復活手続きは後編にて。

2010年1月27日水曜日

アップデートの手順 ~覚え書き~

アップデートの手順は先人の情報を見れば良いのだが、一応覚え書きとして残す。

必要なものは、RSDLite_4.5.3.zipmilestone 2.0.1 update.zipの二つ。

RSD Lite は、MILESTONE と USB 接続し、 ROM の書き換えを行うアプリケーション。そして、書き換える内容となるのが milestone 2.0.1 update.zip の中にある SBF ファイル。131MB もある。

1 まずは、RSD Lite をインストール。Win7 64bit でも問題なくインストール可能。
2 milestone 2.0.1 update.zip の中身を展開。
3 MILESTONE の電源を落とす。
4 MILESTONE をカメラキーとボリュームダウンキーを同時に押したまま電源を入れ、ブートローダーを起動する。
5 USB ケーブルで PC と接続する。


念の為、PC との接続は『Motorola Phone Tools』に設定しておいた。









6 RSD Lite を起動し、下のリストからデバイスを選択する。
7 書き込む SBF ファイルを選択し、書き込みをスタートする。











8 書き換えが終了すると MILESTONE がリブートされる。

これで、OS 2.0.1 にアプデート完了。

遅蒔きながら、アップデート

MILESTONE の root化、2.0.1 へのアップデートと立て続けに大きな波が来ているが、この週末は予定が入ってしまい、やっとこれらの作業に取り掛かる時間ができた。文鎮化がこわいというヘタレでもあるので、先人の後を追うのには丁度良かったのかもしれぬが、、、

SIM 無し運用なので OTA の期待はできるはずもなく、アップデートすることに。アップデートの手順は、コムギドットネットさんのMilestone 2.0.1 OTAを参考にさせていただいた。


まずは、OS 2.0 のスクリーンロックの画面。緑の鍵アイコンを弧を描くようにスライドさせるとスクリーンロックが解除される。










OS 2.0.1 ではこのアイコンのスライドが直線となる。これは何か残念だ。弧を描く方が断然格好良い。










左側が OS2.0、右側が OS2.0.1。当然ですが、カーネルやビルドも変わってますね。









私の MILESTONE は、アップデートしてもカメラはほとんど変化なしな気がする。どうもピントが合ってないような、、、AF のバグは治っているはずなのだが。もう少し使って様子をみる。

2010年1月12日火曜日

スクリーンショットを撮る

何と、Androidでスクリーンショットを撮るのには実機単体ではできない。デバッグモニターを通して撮ることになる。何か敷居が高くないですか?

というわけで、androidのSDKをインストールするわけですが、JavaのSDKも必要とのこと。なかなか面倒だが、いずれインストールする予定だったのが早まっただけ。

Java SE Downloadsから、Java Platform (JDK) をダウンロードしてインストール。Platform は、Windows 7 64bit なので、『Windows x64』を選択。jdk-6u17-windows-x64.exe というファイルがダウンロードされる。これを実行してインストール。

次にDownload the Android SDKから Windows用のパッケージをダウンロード。android-sdk_r04-windows.zip というzipファイルがダウンロードされる。これは単に解凍すれば良い。ただ解凍するだけなので、どこで解凍しても良いが、パスは通す必要がある。パスを通すのは、『android-sdk-windows』ディレクトリ内の『tools』というディレクトリ。

コントロールパネル -> システム -> システムの詳細設定 -> 環境変数

とたどって、ユーザー環境変数を設定する。『PATH』という変数がなければ、新規に作成する。存在するのであれば、編集で付け加える。その際の区切りは『;』。











今度は、MILESTONE の設定をする。

Settings -> Applications -> Development -> USB debugging

とたどって、『USB debugging』をオンにする。USBケーブルで MILESTONE とPCを接続。

これで準備OK。

『tools』ディレクトリ内の『ddms(.bat)』を起動する。するとターミナルの窓が開き、ちょっと待たされて『Dalvik Debug Monitor』が起動する。











メニューで『Device』-> 『Screen capture...』で MILESTONE のスクリーンの窓が開く。













ぬぉっ、でかい。でも考えれば、そりゃそうだ。画面の解像度は 854x480 で、モニタの解像度が 1680x1050 なんだから、縦はモニタ上ではかなり長くなる。逆に言えば、この画面があのサイズで表示されてるんだよな。

取り敢えず、スクリーンショットが撮れるようになった。