2010年2月27日土曜日

MILESTONE で ezweb メール ~盾舜六花 私は拒絶する(PCメールを)~

以前に ezweb のメールをGmailアプリで
やりとりしていることについて書いた。
ただ、PCメールを拒否している相手には届かない。

その件の続き。

現段階では、MILESTONE において ezweb からと
見せかけたメールを送信する場合、

a) Gmail アプリから
b) Browser 上にて auone の web から

の二つの方法がある。
しかし、相手の携帯がPCメールを拒否していると
どちらも届かない。

PCメール拒否をしていない携帯に上記の方法で送信したメールを
確認するとちゃんと from は @ezweb.ne.jp になっている。

そこで、PCメールを拒否した状態にして、
ホワイトリストに @ezweb.ne.jp のアドレスを登録すると、
どちらの方法でもメールが届くようになる。

つまり、MILESTONE からのメール送信では、
@ezweb.ne.jp からのなりすましには成功しているが、
PCメール拒否のフィルターには引っ掛かる、ということ。
まぁ、当たり前と言えば当たり前な結果である。
PCメール拒否には逆らえません、ということか。

なので、PCメールを拒否している人には @ezweb.ne.jp の
アドレスをホワイトリストに登録してもらう必要がある。
相手にとっては、何で携帯のアドレスを登録?ってなるが。

現状は対処療法しかない。

au から出ると言われている SHARP製の Android端末は
ここをクリアして出してくれると信じたい。

PCメール拒否がどこを見て判断しているのかがわかれば
専用アプリで何とかなる気がしないでもないが。

2010年2月10日水曜日

Google NAVIGATION... You're Fresh!

Google Map の進化が著しい。

一月末に出掛けた際に、Google Map のナビゲーション機能を使うために ver 3.3.1 をインストールしたが、すぐに ver 3.4.0 がリリース。adb shell からアップデートしないといけないのでしばらく放置。昨夜、ようやく ver 3.4.0 にアップデートした。だが、もう ver 4.0.0 がリリースされている。しかも、新機能の Google Buzz に対応。というわけでアップデート。

Google Map のナビゲーション機能は日本では使えないように封印されている。そこで、ここからUSA以外でもナビを使えるようにカスタマイズした Google Map をダウンロードしてインストールする。root化した場合とそうでない場合のパッケージがある。root化している場合は、標準の Map をアンインストールして置き換える。root化していない場合は、標準の Map とは別にカスタマイズした Map をインストールするようだ。

自分は既に root化しているので、手順としては、
1. 標準の Map アプリの削除
2. カスタマイズした Map アプリのインストール
となる。

1. 標準の Map アプリの削除
全て adb shell 上で実施
(a) /system を書き込み可能でリマウント
(b) 関連ファイルの削除
(c) 標準 Map アプリのアンインストール

adb shell 上でのコマンド
$ su
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock6 /system
# rm /data/dalvik-cache/*maps*
# rm /data/dalvik-cache/*Maps*
# rm /system/app/Maps.apk
# pm uninstall com.google.android.apps.maps

2. カスタマイズした Map のインストール
SD カードに apk ファイル maps3.3.1-brut-root-3.apk を置いておき、
ファイルマネージャーの ASTRO FILE MANAGER からインストール。

こちらはAndroid端末上で実施
(a) apk ファイルを SD カードにコピー
(b) ASTRO FILE MANAGER で apk ファイルを実行
(c) Open App Manager を選択し、Install を選択

これで、カスタマイズした Map が使えます。今後、Map のバージョンアップがあった場合は通常のアップデートはできないので、この手作業でカスタマイズしたものをインストールしていくことになる。

で、この Google Map Navigation はかなり使える。実際には、助手席の友人に MILESTONE を持っててもらって、ナビの様子を見ながら運転してみた。GPS の追随や コンパスの方向もしっかりとしている。往路は Map のルートに従ってみた。復路はルートに従わず、リルート機能を試してみた。しっかりとリルートをする。

だがルート選択で、どうしても高速などの有料道路を使いたがる。敢えて、高速の IC を通り過ぎたのに、リルートして Uターンするコースを示す。かなりの距離を取らないとこの Uターンを諦めない。それに、多少距離があっても有料道路を使おうとするので、どう見てもおかしな方角に進もうとする。ルーティングの条件設定が見つけられていないのだが、これが改善するとかなり使えそうだ。

弱点としては、自分の使い方だとイーモバイルの電波がない所では使えない。
MILESTONE を車内で見易い位置にどうやって固定するのか。
といったところか。

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』。

MILESTONE その利用とリスク

既に色々なサイトでリンクや紹介がされていますが、ここもMILESTONEについてのブログなので、下記の記事を紹介しておく。

海外版ケータイは日本で利用できるのか?

MILESTONE は EU で販売されているもので、CE と FCC ID のプリントがある。

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 にアプデート完了。