is01@FroyoでGoogle Maps 5.7を動かす


 

1.is01でやったこと

  • is01 rooter」でrootを取る。
  • 「CyanogenMod for IS01デュアルブート版を入れる。
  • 「#reboot recovery」で「CyanogenMod for IS01」(Froyo)を立ち上げる。(※ここまでは「is01でFroyo(android1.6とデュアルブート)」を参照)
  • 「CyanogenMod設定」の「パフォーマンス設定」で「Compcacheを使用する」で「26%」に設定。
  • 「AutoKiller Memory Optimizer」というアプリを入れて、「Strict(60,70,80)」にセット。「menu」→「Setting」→「Apply settings on boot」にチェックを入れる。

 

2.Google Maps 5.7で可能なこと

  • ナビ。(※一度読み込んでしまえばオフラインになっても大丈夫)
  • オフライン地図。(※16km圏内の地図を簡単にダウンロード)
  • ピンチズームや、3D地図の回転、建物の立体化。(※いわゆるマルチタッチ)
  • マイマップ機能。(※レイヤーで使える)
  • その他もろもろ。

 

3.is01@FroyoでGoogle Maps 5.7を動かしてみて気付いたことなど

 とにかく安定していて、落ちないですW
 Google Maps 5.2.1までも3D地図やキャッシュ機能などがis01(android1.6、要root)でも使えていたのですが、ズームアップすると落ちることがありました。特に、大きな建造物が多いところでは、ほぼ100%ダメでした。
 3D描画ができないのかしらと残念に思っていましたが、OSを2.2に上げると、それまでが嘘のように安定して動作します。メモリが足りない足りないと言われることが多いis01ですが、なぜ現時点における最新版のGoogle Maps 5.7で問題なく動くのでしょうか。謎です。
 実際の動作はYouTubeにアップした動画で確認してください。
http://youtu.be/Tp1Bot2oAOU
 
 ピンチズームなどのマルチタッチ操作は使いやすいです。is01はandroid1.6であるにもかかわらず、android2.1から対応しているマルチタッチ機能を独自に搭載してます。そのためis01をFroyo化することで、Google MapsやAngry Birdsをはじめとした各種アプリにおいてマルチタッチが使えます。
 余談ですが、is01は他にも、android2.3から対応しているインカメラについても独自に搭載しています。現時点で「CyanogenMod for IS01」においてはカメラ機能は使えませんが、そのうちインカメラを含めて使えるようになるかもしれません。Sharpとしては、android2.1どころか、android2.3までも見据えてis01を開発していたのかな、と思ったりもしています。
 
 オフライン地図機能は最高です。クリック3回で、特定の場所から16km圏内の地図がダウンロードできます。しかもベクターデータなので、あらゆる縮尺の地図が! 今までのキャッシュ機能も有難かったですが、手間は格段に減りました。
 FroyoになってもGPSを問題なく使えているので、仮にis01が一線を退いたとしても壊れるまで、ワンセグ機能と共に車載用・旅行用で活躍し続けることは確定的となりました。
 

4.Flashについて(YouTubeの動画編集など)

 is01@FroyoではYouTubeの動画編集はできませんでした。まあ、仕方ないですね。
 なお、Flashが埋め込まれたWebページを見ることはできますが、読み込みに時間がかかったり、動作がかくつくこともあるので、実用的かどうかは評価の分かれるところ。Flashがメインコンテンツの場合、ブラウザで見るよりも、専用アプリがあるならばそちらを利用した方がいいと思います。
 

5.最後に

 「CyanogenMod for IS01」作成に関わるDevRenaxさんやゆうじさん、fi01_IS01さんなどの開発者の方をはじめ、is01のroot化やカスタムROM作成に関わった偉大な先達の方々、そして端末を発売したau及びSharpの関係者の方々に感謝です。OSのバージョンは2.2.1と最新ではありませんが、少なくともGoogle Mapsに関しては最新の機能を問題なく使うことができており、「未来」に到達することができたと感じています。
 ありがとうございました。
 
is01@FroyoでGoogle Maps 5.7を動かす
http://youtu.be/Tp1Bot2oAOU
 

is01でFroyo(android1.6とデュアルブート)

【2011-09-10追記はじまり】
 
 この記事は古くなっています。yuntan氏が新しいバージョンを公開したので下記ページをご覽ください。
 
cm4is01最新版を入れてみた
http://d.hatena.ne.jp/is01next/20110910
 
【2011-09-10追記おわり】
 
 ついに私のis01にFroyoが来ました。「Windowsでは文鎮化するからLinuxを用意しなければいけない」とか、「boot領域にカスタムROMを焼くので、recovery_kitを入れるなど対策が必要」とか、少し前までは敷居が高すぎて近寄りがたい雰囲気だったのも過去のこと。
 is01だけでFroyo(CyanogenModベース)を入れることができ、しかも文鎮化する可能性は非常に低いデュアルブートが可能になったのです。
 
 思い起こせば、まとめサイトのis01next@wikiを立ち上げたのは昨年11月23日。それから何度か大きな波がやってきては、潮が引くように静かになることを繰り返し、気がつけば他のandroid端末に完全に置いていかれてしまった我がis01。CyanogenModの起動アニメーションを見ることができる日が来るとは実に感慨深い。。
 
 と言うことで、手順をまとめておきます。例のごとく、何があっても泣かない、いわゆる「自己責任」でお願いします。
 

【追記】2011-07-07

 パッチファイルのダウンロード先と手順の内容が食い違っていたので部分的に修正しています。
 

1.以下を熟読する。

 
CyanogenMod for IS01 移植メモ
https://sites.google.com/site/cm4is01wiki/
IS01 に Android1.6 を残しつつ、recovery 領域に CM4IS01を入れた
http://ameblo.jp/puriketsuangel/entry-10938045067.html
【ROM焼き】 au IS01 root5
http://hibari.2ch.net/test/read.cgi/smartphone/1307735687/
is01でcompcacheを有効にしてメモリ不足を解消する方法
http://d.hatena.ne.jp/is01next/20110226
 
DevRenaxさんのtwitter(※「CyanogenMod for IS01」作成者)
http://twitter.com/#!/DevRenax
ゆうじさんのtwitter(※「CyanogenMod for IS01デュアルブート化パッチファイル作成者)
http://twitter.com/#!/_U_G
fi01_IS01さんのtwitter(※サウンドGPU等の各種パッチファイル作成者)
http://twitter.com/#!/fi01_IS01
 

3.以下の2つをダウンロードして解凍

 
CM6byDevRenax-06242011-IS01.7z
http://hotfile.com/dl/121817568/be0784a/CM6byDevRenax-06242011-IS01.7z.html
CM6byDevRenax-06242011-IS01_patch2.7z
http://hotfile.com/dl/122581067/be79e6f/CM6byDevRenax-06242011-IS01_patch2.7z.html
 
CM4IS01本体から以下のファイルを、

  • system.tar

パッチファイルから以下のファイルを、それぞれis01のsdcardにコピー。

  • cm4is01_boot.img
  • system_mod.sh

 

4.is01上で端末エミュレータから操作

  
$ su
# flash_image recovery_wr /sdcard/cm4is01_boot.img
# mkdir /data/cm4is01
# cd /data/cm4is01
# tar xvf /sdcard/system.tar
# sh /sdcard/system_mod.sh
# chmod 6755 /data/cm4is01/system/bin/fix_permissions_mod
# chmod 6755 /data/cm4is01/system/bin/fix_permissions
# ./system/bin/fix_permissions_mod
# mkdir data
# mkdir cache
 
/data/cm4is01/system/build.prop の次の4行のそれぞれ先頭に# を付けてコメントアウト
 
media.stagefright.enable-player=true
media.stagefright.enable-meta=true
media.stagefright.enable-scan=true
media.stagefright.enable-http=true
 
ついでに「ro.sf.lcd_density=240」の数字を変更。
 
CM4IS01(Froyo)起動。初回は時間がかかる。
 
# reboot recovery
 

5.CM4IS01(Froyo)起動後にroot奪取

 
$ su
# fix_permissions
 
 suでrootが取れなかったら、下記アプリを使ってroot奪取可能。
 
z4root 「z4root.1.3.0.apk」
http://forum.xda-developers.com/showthread.php?t=833953
 
wifiが使えなくなった場合は、端末エミュレータで以下のコマンド入力。何度か再起動すれば大丈夫?
 
$ su
# chown root.root /data/cm4is01/system/etc/wifi
# chown root.root /data/cm4is01/system/etc/wifi/wpa_supplicant.conf
 

6.CM4IS01(Froyo)を快適にするために

 
OpenWnnフリック対応(※日本語と英数字の切り替えは SHIFT+スペース。記号や絵文字等の切り替えは ALT+スペース)
http://jp.androlib.com/android.application.com-pm9-flickwnn-jEnE.aspx
AutoKiller Memory Optimizer(※もっさり解消。「Strict(60,70,80)」ぐらいかな?)
http://jp.androlib.com/android.application.com-rs-autokiller-wEwp.aspx
ClockSync(※simなしユーザーには必須)
http://jp.androlib.com/android.application.ru-org-amip-clocksync-Fnmp.aspx
  

7.雑感

 試行錯誤の時期なのですが、取り合えず気づいたことを。
  

  • CyanogenMod設定でcompcacheを有効にするだけではもっさり。AutoKiller Memory Optimizerの併用が◎。
  • 全アプリで画面一杯使える幸せさ。
  • 様々なアプリでマルチタッチ対応。Angry Bird で拡大縮小できるのは有難い。
  • 使えるアプリが増えた! FlashAcrobatなどなど便利です。
  • sl4aでPHPが動いているみたい。他の言語も未確認だけど大丈夫そう。
  • 今のところ起動も早く、とても安定して動いている。

 
【今後使えたら嬉しいアプリ】

 

【追記】2011-07-06

 2.2と1.6のデュアルブートは手軽でいいです。先ほど2.2の方のGoogleアカウントを変更するために、/data/cm4is01/以下を削除した上で、再度2.2をインストールしましたが、これが非常に楽ちん。
 地味に嬉しいのがバッテリー残量がステータスバーに表示されることと、「simを入れろ」だとか「アカウントのパスワードを入力しろ」だとかを再起動のたびに表示されないこと。反対に地味に不便なのが、altキーを使ったキーボードショートカットがほとんど使えないこと。
 

【追記】2011-07-07

 デュアルブート化手順を修正しました。
 現在いろいろなアプリを入れてお楽しみ中。その中で一番感心したのはGoogle Maps。ピンチズームや3Dの回転ができるほか、とにかく落ちなくなった。3Dバリバリのビル街を見ても問題なし。さらに最新のバージョン5.7からの新機能、Labsの地図ダウンロード機能が凄すぎ。指定した地点の16km圏内を簡単にキャッシュしてくれる。オフラインナビとして最強。
 smali/baksmaliを使って、FMトランスミッターのapk取り出しにチャレンジしていますが、プロテクトがかかっているのか、それとも何かが足りないのかうまくいきません。htmlviewerのようなシンプルなシステムアプリも同様にエラーが出ます。どうすればいいのかな。
 

is01だけで「スクリーンショット→画像加工→ブログ投稿」

 このブログでは、is01スクリーンショットを時々使っている。PCを立ち上げるのが面倒なので「スクリーンショット→画像加工→ブログ投稿」の一連の作業については、is01だけでやっている。手間はかかるけどね。
 ブログ投稿までの一連の手順をよく忘れるのでメモとして残しておく。
 

1.スクリーンショット

 キャプチャー用のアプリが必要。(要root)
 
ShootMe (0.8.0):
http://market.android.com/details?id=com.bw.picme.local
 
 使い方はシンプル。アプリを立ち上げた後、スクリーンショットを撮りたい画面を開き、シェイクするだけ。画像保存はpngjpeg
 設定画面の「auto hide」にチェックを入れておくと更に使いやすい。
 

2.画像加工

 androidには画像加工アプリがたくさんあるが、こだわりがないのでis01プリインストールのものを使っている。スクリーンショットを撮った後に、コンテンツマネージャーで画像を選択して「画像編集」。よく使う機能は、「回転」「リサイズ」「落書き」「文字スタンプ」あたり。使いやすいし、編集用にあたっての最低限の機能が備わっている。
 

3.ブログ投稿

 is01から画像をブログ投稿するのは結構難しい。最大の理由は、is01付属のコンテンツマネージャーからアップロードできないこと。いろいろ試したが方法が分からなかった。
 仕方がないのでメールに画像を添付して投稿することにした。
 
 当初はGmailに画像を添付して、指定された投稿用アドレスにメール送信していたが、手順がまどろっこしい。何かいい方法はないかと探したところ次のアプリを発見。
 
QuickShareMail (0.2.4):
http://market.android.com/details?id=org.tamanegi.quicksharemail
 
 このアプリを使うと、テキストや画像などのファイルを、メール経由で簡単に共有(インテント)することができる。地味だけど物凄く素晴らしいアプリ。
 その特徴は以下の通り。

  • メールはあらかじめ指定しておいたアドレス宛に送信される。
  • メール送信はバックグラウンドで行われる。
  • 共有したいファイルタイプごとに送信先を登録できる。
  • 連続してメール送信できる。

 デフォルトでは自分のGmailアドレス宛に、画像だけは「はてなフォトライフ」の投稿用アドレス宛に、メール送信する設定にしている。
 
 すなわち、コンテンツマネージャーで画像を選択して「共有」→「QuickShareMail」をタップするだけで、「はてなフォトライフ」にアップロードされるという訳。メール送信はバックグラウンドで行われるので、他の作業を同時にすることができるし、画像を連続してアップロードすることもできる。これはとても快適。
 

コンテンツマネージャーで画像を選択して「共有」


 

「共有」→「QuickShareMail」をタップ。後はバックグラウンドでメール送信してくれる。


 
 画像をアップロードしたら、後はブログの編集画面にて画像を挿入すればOK。このブログは「はてなダイアリー」を利用しているので、「はてなフォトライフ」にアップロードした画像の中から選択している。
 メール投稿に対応しているブログサービスであれば、同様の手法が使えるはず。
 
 ところでwin7のミニノートの購入を検討しているから、近いうちにブログ投稿はミニノートからやるようになるかも。is01のキーボードは確かに便利だけどね。

旅行する際に is01(主に Google Maps )を使い倒す

 GWに2泊3日で旅行する計画を立てている。従来までは、PCを使って旅の準備をしていたが、今回はis01だけで行っている。と言う訳で、Google Maps を中心に、androidだけで効率的な旅の下調べをする方法を書いていくことにする。
 

1. 使用するアプリ

 まずはメインアプリの Google Maps の準備。is01の場合、キャッシュや3D機能を有効にするなど、最大限活用するために、バージョン5.21にアップデートしておく(要root。build.propの書換が必要)。また、メモリをたくさん使うアプリなので、メモリスワップや不要な常駐サービスの退避など、メモリ対策をやっておく方が幸せになれる。
 
 作業用にエディタ系アプリを使う。キーボードショートカットが使用可能な以下の3つがお勧め。

 中でも一押しはメモ帳。とにかく安定しており、作業中に一度も落ちたことがない。編集画面と表示画面に分かれており、表示画面ではurlは自動的にリンクに変換されるので便利。
 なお、エディタ系アプリについては、 Google Maps を含め、即座に呼び出せるようにクイック起動に登録しておく。
 
 予定入力用にカレンダーアプリを使うのならば、やはり定番のジョルテ。Googleカレンダーと同期モードにしておく。

 
 更に、インテント共有用に次のアプリを入れておく。これは地味ながらも素晴らしいアプリ。

 

2. 旅の下調べ1(Google Maps から施設の電話番号や住所を取得)

 今回は「伊豆半島」をサンプルとして進めていく。
 
 まず Google Maps を起動し、「伊豆半島」で検索する。

 
 伊豆半島が表示されるので、そのまま地図を拡大していく。すると近くに道の駅が見えるので、取り合えず画面を長押ししてみる。

 
 「静岡県伊豆市湯ヶ島」というポップアップが表示されるのでタップする。

 
 「周辺のお店やサービス」をタップする。

 
 一番上の「天城わさびの里」が道の駅らしいのでタップする。

 
 天城わさびの里のページが開く。やはり道の駅だった。取り合えず住所や電話番号などをメモすることにする。
 右側の赤い線で囲まれたボタンをタップする。

 
 「その他のオプション」の中の「この場所を共有する」をタップする。

 
 「クリップボード」をタップする。これが、To Clipboard というアプリの正体。単にコピーするだけだが凄く便利。

 
 すると、施設名、電話番号、郵便番号、住所、Google Maps へのURLが一気にクリップされるので、後はメモ帳などのエディタ系アプリやジョルデなどのカレンダーアプリをクイック起動で開いて、alt+V で貼り付けるだけ。(画像は伊豆シャボテン公園のもの)

 
 これはとても便利。旅程表を簡単に作ることができる。
 

3. 旅の下調べ2(Google Maps から付近のスポットを芋づる式に取得)

 「その他のオプション」の中の「付近を検索」をタップする。

 
 「観光スポット」で検索したところ。「伊豆市役所 昭和の森会館」など多数のスポットが表示されるので、気になったところについて口コミなどを確認する。

 
 「遊園地」で検索したところ。「伊豆アニマルキングダム」などが表示される。

 
 伊豆アニマルキングダムのページ。何やら面白そうなので、画面右上の「スター」をタップしてお気に入り登録する。

 
 ページを下にスクロールすると「関連するお店やスポット」が出てくる。この中に「熱川バナナワニ園」があったので、迷うことなくタップ。\(^o^)/

 
 熱川バナナワニ園のページ。ここも迷うことなく画面右上の「スター」をタップしてお気に入りに登録。\(^o^)/

 
 このような感じで、気になったスポットを次々と「スター」に登録していく。なお、スターから外したい場合は、スターを再度タップするだけ。
 
 地図を表示すると、熱川バナナワニ園がポップアップされている。他にも周辺検索した際のマーカーが残っている。ちょっと邪魔くさいので、menuキーを押して「地図をクリア」をタップ。

 
 マーカーは消えた。地図には「スター」だけが残る。menuキーを押して「スター付きの場所」をタップ。

 
 すると「スター付きの場所」が一覧表示される。

 

4. 旅の途中1(スター付きの場所の活用)

 「スター付きの場所」の良いところは、オフライン時でも表示されること。もちろん、所在地や電話番号など、基本的な情報も表示される。
 すなわち、地図だけでなく、スター付きの場所も is01 にキャッシュされるということ。文字入力をほとんどすることなしに(音声検索を使えば文字入力は一切不要)、Google Maps にメモが取れるという訳である。オフラインで旅行中、基本的にナビとしては使えないが(例外あり。後述)、この地図へメモする機能はとても便利かつ簡単。IS01GPSGoogle Maps と相性がいいみたいなので、3G回線の範囲外でもGPS付きの高機能ガイドブックとして使える。
 

追記 2011-05-10

 GW旅行中に is01Google Maps を実際に使ってみて分かったこと。

  • GPSの精度は山間地でも良い。ただし、一度だけ、天気が悪い中、山あいを高速移動しているとき、GPSは海を走っていた(高速を降りたらGPSは現在地を正確に捕捉したけど)。
  • GPSが現在地を捕捉するのに時間がかかる場合が何度かあった。
  • 地図も、スター付きの場所も キャッシュされているので、3GとWifiがオフ状態にもかかわらず、現在地が分かるガイドマップとして使用できた。これは本当に便利。
  • Google Maps + GPS ( + FMトランミッター + MP3プレーヤー)の組み合わせると、バッテリーがあっという間に空になる。シガレットライター電源 + USBコネクター + USB充電ケーブル で常時充電しておくのが無難かも。ただし、気温が高いと車中は猛烈に暑くなるので、is01ダッシュボートに置いていると熱くなるので調子が悪くなるかも。

 

5. 旅の途中2(車での使用方法、特にナビ)

 is01 はクラムシェル型なので安定感があり、工夫すれば車のダッシュボードなどに置くことが可能。例えばトヨタシエンタならば、センター部分のメーター類の前にポコっと置くだけ。ストッパー類は一切使っていないが、よほど乱暴な運転をしない限りis01は動かない。スピードメーターの左半分が隠れてやや不便だけど、60km/h以上は見えるので問題なし。
 
 ちなみにWifiが繋がれば、ナビ検索が可能。しかも、ルート決定後はオフラインでも問題なくナビしてくれるし、コースを外れても修正してくれる。目的地までの経路をキャッシュしてくれているので、多少違ったルートをとっても音声案内してくれる。
 よって、事前に旅先のWifiスポットをチェックしておくと幸せになれるかもしれない。もちろん、スター付きの場所に登録するだけでOK。
 
 オフラインナビの注意点として、Wifi切断後にis01の蓋を閉じないこと。キャッシュされたナビ経路が失われる場合があるみたい。と言うか、自分の環境では100%失われるから、格好はあまりよくないが、蓋を閉じないまま車まで持っていく。
 
 車で移動するならば、シガレットライター電源から充電できるようにUSBコネクターを用意しておくのがお勧め。もちろんUSB充電ケーブルも忘れないこと。 Google MapsGPSを使うためか激しく電池を使うので必須。
 特に、自分は車で移動中はFMトランスミッターで音楽を飛ばしながら Google Maps Navi を使うので、USBケーブルを繋ぎっぱなしで充電している。充電池によくないらしいけれども、利便性を優先させている。
  

6. おまけ(b-mobileの活用方法)

 自分はis01ht-03aの二台持ちだが、普段は必要性をあまり感じないので、両方とも3G回線を全く使っていない。通話もほとんどしないので、携帯の通信料は月1,000円未満におさまっている。なぜならば、自宅と職場で無線LANが使えるので十分用が足りるためだ。
 ただ、年に数回、泊まりがけの旅行をする際には、3G回線を使いたくなる。しかも、最も使いたい Google Maps Navi は、パケット量が半端でない予感がするので、3Gを数回使うだけであっという間に上限に達してしまいそうで怖い。
 という訳なので、root化したht-03aをゴニョゴニョやってb-mobileを使えるようにして、is01からアドホック接続することを検討中。(b-mobileの詳細については長くなるので省略)
 Google Mapsb-mobile回線で表示するのは厳しそうだが、事前に地図をキャッシュで読み込んでおき、naviの経路検索で利用するだけならば十分実用的だと思われる。そうすれば、ポータルnaviとしても使えるし使えるので、レンタカーを利用する場合でもOK。
 
 なお、b-mobileの価格は以下の通り。
  
ご購入前の注意事項 | b-mobileSIM U300
http://www.bmobile.ne.jp/sim/note.html

  • 1ヶ月使い放題パッケージ 2,980円
  • 6ヶ月使い放題パッケージ 14,900円(*月換算 2,483円)
  • 1年使い放題パッケージ 29,800円(*月換算 2,483円)

 残念ながら自分的には微妙な価格設定。有効期間3ヶ月ぐらいで、1日使い放題×10日間分で3,000円というプランがあれば即購入するけど。旅行や出張で単発的に利用したいというニーズはありそうなのだが。
 
 これが「発売記念限定IDEOS用 b-mobileSIM U300」になると、自分的には結構魅力的になる。通信速度は遅い(300kbps)とは言え、一ヶ月あたり2,000円を切る価格でドコモの3Gに繋ぎ放題となる。IDEOS用とあるが、調べる限り、その他の端末でも使えるようだし。
 
7ヶ月使い放題パッケージ 13,180円(*月換算 1,882円)
http://store.shopping.yahoo.co.jp/onhome/4560122191346.html
14ヶ月使い放題パッケージ 25,800円(*月換算 1,842円)
http://store.shopping.yahoo.co.jp/onhome/4560122191353.html
 
 ふと、この安さならば、職場のネット環境のバックアップ回線として確保しておいても悪くないのではないかと妄想してみた。ht-03aを仕事中にb-mobile用として無償提供するかわりに、休日にはb-mobileを自由に使えるよう、上司に提案してみようかしら(笑)
 

追記 2011-04-26

 WiMAXの1dayプランは、速度はもちろんのこと、価格的にも(1日600円のみ)魅力的だが、いかんせんエリアが狭い。都市部への出張や旅行ならば、十分検討する価値はあるが、地方はきつい。ドコモの3G系で同様のサービスをやってほしい。
 

追記 2011-06-12

 速度はさらに遅い(100kbps)が月980円のプランが出た!
 
イオン限定サービス | b-mobileSIM
http://www.bmobile.ne.jp/aeon/
 
 初期費用が3,150円必要なので、何ヵ月か契約を継続しないと割高になってしまうが非常に面白い。ダイヤルアップ接続の時代は56kbpsだったよな…と遠い目をしてしまう。

is01でオフラインナビ&3D表示(Google Maps)

 画面が大きく、自立するis01は、カーナビとしても使える。ただし、3Gを使わず、Wifiだけで運用している場合、工夫が必要。
 
 androidの地図アプリは何個かあるが、最高峰と言えるのは Google Maps 。特にバージョン5.0になってからは、地図データがコンパクトになり、オフラインキャッシュ機能や3D表示、コンパスモード等に対応したことで、死角はなくなった。
 ところが、android1.6 では、オフラインキャッシュやコンパスモードが使えない。つまり、is01はその恩恵を受けることができないのだ。そこで、オフラインキャッシュが可能な Brut Google Maps を試してみたが、 Google Maps と干渉し合うせいか、動作が頻繁に不安定になる。
 困ったな、と思っていたところ、下記ブログを発見。
  
Monodukuri: IS01Googleマップ5をベクトル表示
http://ditridecyl.blogspot.com/2011/02/is01google5.html
 
 上記サイトの通り、rootをとった後に、build.prop に

ro.opengles.version=131072

を加え、is01を再起動するだけで、オフラインキャッシュや3D表示などが使えるようになった(万歳)。 Brut Google Maps は、いい影響を与えそうにないのでアンインストール。

追記 2011-04-07

 Google Maps 5.3 にアップデートすると、OpenGL es-cm のバージョンの関係で不具合が生じるようです。(現在確認中)

追記 2011-04-08

 どうやら Google Maps 5.3 は、 OpenGL 2.0 だけでなく、 OpenGL es-cm 2.0 も必要みたい。is01OpenGL es-cm のバージョンが1.1。「ro.opengles.version=131072」をすると、OpenGL を 2.0 に設定するが、OpenGL es-cm のバージョンは1.1のまま変わらず。ケータイアップデート等で OpenGL es-cm を2.0にアップしなければ Google Maps 5.3 が使えないということらしい。
 仕方ないので Titanium Backup で Google Maps 5.2.1 に戻した。キャッシュが全て消えていたのはショックだが、再びオフラインキャッシュや3Dナビが使えるようになったので一安心。どうやら is01Google maps の3D表示で置いていかれるみたい。。。
 
 Google Maps メニューを選択したところ。「キャッシュ設定」が現れる。

 
 「携帯で事前に読み込む」にチェックを入れる。

 
 ナビについては、事前にWifi接続でルート検索をしていれば、その後、オフライン状態でも、目的地まで正確に道案内してくれた。3D表示にコンパスモード、そして音声案内つき。ちなみに、3D表示やコンパスモードにするには、画面右上の丸っこいアイコンをクリックする(ノーマルのis01では反応しない)。

 
 実際にカーナビとして使ってみた。
 目的地までの所要時間は40分ほど。その間、is01は、カーナビと同時に、FMトランスミッターで音楽を流し続けたが、カーステからの音が途切れることもなければ、アプリが落ちることもなかった。音声案内している最中、音楽が途切れるのは少しだけ悲しいが、カーステから音声案内が流れてくるのは良いものだ。
 今まで何度も「is01android)って凄い」と思ったことはあるが、今回は感動した。同乗者も呆気にとられていた。シガレットライターの電源から、is01を充電できるようにしてあるので、長距離ドライブも問題なし。
 
 なお、オフライン時は経路検索ができないが、事前に地図をキャッシュしておけば、現在地を地図表示してくれる。しかも、どうやら電波オフモードでも使えるみたい。
 
 目的地を複数選べることができたら最高だが、現状でも十分すぎるほどの機能。キャッシュされる地図データもコンパクトで、現時点で10MB弱。全国地図をキャッシュするのに1GBもいらないのではないだろうか。
 
 ちなみにrootをとっていない場合は、少しだけ紹介した Brut Google Maps で同等のことが可能。
 
[APPMOD][07.11.10] Brut Google Maps 4.6.0.4686-brut17 - xda-developers
http://forum.xda-developers.com/showthread.php?t=630887
 
 以下のように3種類あるが、 brut-renamed-tagged.apk が純正 Google Maps と区別しやすいのでお勧めかと。

  • maps4.6.0.4686-brut.apk
  • maps4.6.0.4686-brut-renamed.apk
  • maps4.6.0.4686-brut-renamed-tagged.apk

 でも、これを機会にrootをとって、純正 Google Maps をオフラインキャッシュ&3D化することもありかもね。何せ、is01はメモリが少ないので、満足に動かない可能性が高い(特に3D)。rootをとったら、様々なメモリ対策が可能なので、ストレスなしで動せます。

追記(2011-04-22)

 androidアプリのキャッシュを一括して消去するアプリがいくつかあるが、困ったことに Google Maps のキャッシュまで消してしまう。個別に設定できるアプリはないかと探したところ、やはりありました。
 
CacheMate for Root Users Free
http://market.android.com/details?id=com.aac.cachemate.demo
 
 このアプリのおかげで非常に助かっています。

is01でcompcacheを有効にしてメモリ不足を解消する方法

 2chのis01root板でcompcacheを有効にするカーネルが話題になっているのに我慢できず、ついに一線を越えてしまった。
 以下、一連の手順についての備忘メモ。ベースバンドバージョンは01.00.09。PCに繋ぐことなく、is01だけでできてしまう。偉大なる先人の方々に感謝。
 

2.modules_enablerを入れる

えぬえす工房 » IS01関連の自作ファイルのまとめ
http://blog.ns-koubou.com/archives/19
 
 ダウンロードした modules_enabler を /sqlite_journals/is01root/ に移動させ、/sqlite_journals/is01root/autoexec.sh を以下のように記述してis01を再起動。

#!/system/bin/sh
/sqlite_journals/is01root/_su 0 insmod /sqlite_journals/is01root/msm_nand_ex.ko
/sqlite_journals/is01root/_su 0 insmod /sqlite_journals/is01root/modules_enabler.ko
/sqlite_journals/is01root/_su 0 setprop rild.libpath `getprop rild.libpath2`

 

【参考】recovery領域のバックアップ (2011/3/9追記)

 端末エミュレータで su でroot権限をとった後に以下のコマンドを入力。sdカードにrecovery(mtd2.bin)がバックアップされる。

dd if=/dev/mtd/mtd2 of=/sdcard/mtd2.bin

 

3.compcacheを有効にするカーネル(ubi-compcache-0.2.img)を入れる

IS01 で compcache (ramzswap) を有効にする(2) | Weboo! Returns.
http://yamashita.dyndns.org/blog/is01-compcache-ramzswap-2/
 
 ダウンロードした ubi-compcache-0.2.img を /sdcard/ に置き、端末エミュレータで su でroot権限をとった後に以下のコマンドを入力。

flash_image recovery_wr /sdcard/ubi-compcache-0.2.img

 
 これでrecovery領域に ubi-compcache-0.2.img が書き込まれた。事前にrecovery領域のバックアップを取っていた方がいいのだが、思いっきり忘れていた(大汗)。まあ、boot領域に書き込んだ訳でもないからいいやと思うことにする。
 

4.compcacheを有効にする

 端末エミュレータで su でrootを取って、以下のコマンドを入力。GScript Lite に保存しておくのが楽だし、間違いがないし、お勧め。

reboot recovery

 なお、普通に電源を入れ直したり再起動したりする場合は、標準のカーネルが立ち上がるので安心。改変カーネルis01を起動している時に、systemを変にいじったり、オールリセットとかしたりしなければ、文鎮化する可能性は低いと思われる。
 compcacheが有効かどうかは、端末エミュレータで free と打ち込めば分かります。 swap の数値が0でなければ成功。
 compcacheの調整をするには、/system/build.prop の適当な場所に以下のように記述。(私は64MBに設定してる)

ro.compcache.size=65536

 

5.Low memory killer の値の変更

 カーネルを入れ替えたのだから、再起動時に自動的に Low memory killer の値も変更する。root権限が必要なので、/sqlite_journals/is01root/boot.sh も自動実行させる。
 /sqlite_journals/is01root/autoexec.sh にを以下のように記述する。Low memory killer を、6MB, 8MB, 16MB, 60MB, 70MB, 80MB で設定した例。

#!/system/bin/sh
/sqlite_journals/is01root/_su 0 insmod /sqlite_journals/is01root/msm_nand_ex.ko
/sqlite_journals/is01root/_su 0 insmod /sqlite_journals/is01root/modules_enabler.ko
/sqlite_journals/is01root/_su 0 setprop rild.libpath `getprop rild.libpath2`
/sqlite_journals/is01root/su -c /sqlite_journals/is01root/boot.sh
echo  "1536,2048,4096,15360,17920,20480" > /sys/module/lowmemorykiller/parameters/minfree

 

6.作業するにあたっての便利アプリ等

  • Ghost Commander (ファイル操作アプリ。root拡張。定番)
  • sheditor (エディタ。is01向けなのでとても使いやすい)
  • GScript Lite (コマンド保存実行アプリ。root拡張。ファイルはsdカードにも保存可能)
  • 端末エミュレータ (コマンド実行アプリ。root拡張。定番)

 Ghost Commander と sheditor と GScript Lite 、そして標準ブラウザがあれば、一連の作業は可能。(GScript Lite は、端末エミュレータの代わりになる)
 
 なお、一連の作業を行う前に、下記サイトを熟読した。
 
IS01 root化と諸々の作業メモ - コムギドットネット
http://komugi.net/archives/2010/12/06205920.php
 

7.compcacheの効果

 compcacheを有効化した最大の理由はPDFビューワ。
 Jコミの漫画を読むためのPDFビューワを探しているのだが、なかなかいいアプリがない。Documents To Go を我慢して使っていたのだが、解像度の悪さに嫌気がさし、VuDroid というアプリを入れてみたところ、操作性も解像度も良かったので乗り換えることに。ただし、すぐに落ちてしまうので、これはこれでストレスが溜まる。(落ちても自動的にしおりが入るのが救い)
 
VuDroid
http://code.google.com/p/vudroid/
 
 やはりis01の搭載メモリで高解像度の大容量PDFを楽しむのは難しいのか。そんなとき、評判のいいcompcacheを有効にするカーネルの存在を知った。
 
 メモリ対策として従来までの、

  • ワンセグやケータイアップデートなど不用なプリインストールアプリやサービスをリネームして起動させない
  • Low memory killer を、6MB, 8MB, 16MB, 60MB, 70MB, 80MB に設定

に加えて、

  • compcacheを64MBに設定

したことで、VuDroid でJコミの漫画をPDFで快適に見れるようになった(でも、やっぱり落ちることはあるけど)。
 Low memory killer と compcacheの最適な設定値を探さねば。
 

【追記】2011/3/16

 プリインストールされている Documents To Go を 3.002e(884) にバージョンアップしたところ、解像度がメチャメチャよくなった!! compcache のおかげか、サクサク快適に見れるし、「ラブひな」を読んでいる最中、一度も落ちなかった。しおり機能がついてくれれば言うことなしだが、現状とても満足している。Tuneln Radio でNHKラジオ(Radio Japan)を聞きながらPDFファイルを読んでいるが全く問題なし。
 と言う訳で、PDFビューアを探す旅は終了。短い間でしたが VuDroid ありがとうございました。

Ghost Commander でis01のブラウザのUAを変更

 is01のブラウザはキーボードショートカットができるし、画面は広いし、OS1.6なのにピンチズームができるし、動作もキビキビしているので愛用しているのだが、困ったことがある。ユーザーエージェントを変えることができないのだ。
 スマートフォン向け、あるいは携帯端末向けに最適化されたページを自動的に表示させるサイトが、最近とみに増えているが、is01を使っている私からすれば迷惑な話。普通の画面で見たいのだ。(Flashは勘弁してほしいが)
 そんな中、twitter経由で下記サイトを発見した。
 
~IS01標準ブラウザのUserAgentを変更したままにする~:┣y`s diary┫
http://app.f.m-cocolog.jp/t/typecast/1335730/1352397/67670448
 
 上記手順を参考にやったら、あっさり成功。is01をリブートしてもブラウザの「隠しメニュー」は表示されたまま、かつ、ユーザーエージェントは「デスクトップ」になっていた。
 そこで、PCに繋ぐことなく、is01単体でユーザーエージェントを変える方法を、Ghost Commander の使い方と共に書き残しておく。
 

【手順】(要root)
  1. Ghost Commander を開き、「menu」→「location」→「change location」で「root:///」を入力して「GO」ボタンをクリック。
  2. 「data」→「data」→「com.android.browser」→「shared_prefs」と階層を辿り、「com.android.browser_preferences.xml」を長押しして「Copy」。
  3. コピー先のファイルを開いて編集。『』を加える。
  4. 編集したファイルを「root:///data/data/com.android.browser/shared_prefs/com.android.browser_preferences.xml」にコピー(元に戻す)。この時chmodする必要はない。
  5. ブラウザを開き、「menu」→「設定」→「UAString」で「Desktop」を選択。

※もしかしたら事前にブラウザを開き、menu → URL入力 で『about:debug』と入力しておく必要があるかも。
 
 以下、Ghost Commander を使った詳細な手順。
 
Ghost Commander
http://jp.androlib.com/android.application.com-ghostsq-commander-zniE.aspx
 
 Ghost Commander とは、高速かつ多機能なファイル操作アプリで、しかも2画面表示で作業ができるスグレモノ。その上、rootを取ったら/data/data/のファイルを開くこと、及び、chmodでパーミッションの変更ができる。is01でrootを取ったら、ぜひとも入れておきたいアプリなのだが、日本語に対応していない上に、使い方に癖があるので、慣れるまで結構大変。
 
 「menu」→「location」→「change location」を選択。「menu」+「d」でもいいし、画面上部の「..」を長押し→「change location」でも可能。アドレスバーに「root:///」を入力して、「GO」ボタンをクリックするか、リターンキーを押す。その後アドレスバー左の☆をクリックするとお気に入りに登録される。
 後は、「root:///data/」というようにお目当ての com.android.browser_preferences.xml ファイルまでたどっていく。この際、ディレクトリ名の中央部から左寄りをクリックしないと階層を移動することができないことに注意。ちなみに右寄り部分をクリックすると「選択」状態になり、複数のディレクトリやファイルを削除したり移動したりできる。なお、今回は root:///data/data/com.android.browser/shared_prefs/com.android.browser_preferences.xml を入力すれば直接「com.android.browser_preferences.xml」を開くことができる。また、文字については「menu」+v で貼り付けや「menu」+cでコピー等が可能。

 
 もう一方の画面は、作業用(ファイルのコピー先) として使うので、/sdcard/の適当なフォルダを開いておく。今回は /sdcard/PRIVATE/ をコピー先とする。
 
 「com.android.browser_preferences.xml」を長押しすると「Rename」「Chmod」と共に出てくる「Copy」を選択する。
 

 するとコピー先の確認画面が出てくる。このコピー先が、もう片方の画面で表示されるディレクトリ。「OK」をクリックし、もう片方の画面に移動し、コピー先の com.android.browser_preferences.xml を開いて編集する。(『』を追加)

 

 編集が終わったら保存して、「root:///data/data/com.android.browser/shared_prefs/com.android.browser_preferences.xml」にコピーする。画面が2つあるからとてもやりやすい。
 後はブラウザの設定画面から UAString を設定すればOK。デバッグメニューが他にも出てくるので、いろいろ試してみるのもいいかも。

 
 UAを変更したから、is01next@wiki の編集が楽になったのだが(自動で携帯端末向けページに飛ばされなくなった)、長い間更新していなかったので今後更新作業をするか否かは微妙なところ。気が向いたらやるかもしれないけど、あのwikiは誰でも編集可能だからね。