よりぬき: 音楽雑記| neko| 写真| マンガ| 美術| 各種感想| 悪夢| 別の月/年
PR:日本留學情報網 taiwan2japan 從台灣向日本
→LG Optimus GT540(Android2.1)で2週間 遊んでみた | →LG Optimus GT540にカスタムROMで2.2.1を入れた | →Android2.2.1の動作の紹介(OpenSwift - CyanogenMod) | →たぶんAndroid OS2.1/2.2.1のほうの話と思われるところ
あまりの快適さに腰が抜けるほど。OS2.2+600MHz+RAM256MBで十分すぎるほど快適。2.1とはなんだったのか。
(なお、分かってない人間が書いているので、そのへんはさっぴいて読んでください。SDKのドキュメントくらい読むべきだと自分でも思う。)
Android内部には、公式SDKにあるadb.exeにてアクセスできる。実機をUSB debugging modeにするだけでいい。「adb push」
でデータ送信が、「adb shell」
でシェルが動く、などなど。shellを起動すれば、すっかりUNIXだ。
ところが。LG Optimus GT540標準では/binがない。どうもAndroidとはそういうもののようだ。OSの設計上AppはJavaVMで動くので、必要がないのだろう。
ぱっとみたとき「/binも/sbinもない」
のは据わりが悪く感じるが、冷静に考えれば、/bin・/sbin、/usr/bin・/usr/sbin、/usr/local/bin…と無限に場所が増えていくのは、たしかにみっともない。−−完全に個人マシンなんだし。
(ちなみにiOSにはこれらがあるが、それが標準であるのか、JailBreakeした結果存在するのかは、ちょっと分からない。)
というわけで、Androidには/system/binと/system/xbin(拡張コマンド)の2つしかない。見た範囲では。
標準ではルート権限がない。というか、シンプルな話として、suコマンド自体が無い。というわけで、実機のCPU ARMにあわせたsuバイナリを入れてやれば、それでsuだ。
suどころか、標準では、ほとんどのUNIXコマンドは入っていないし、入っていてもパーミッションがない。−−adb shellでwhoamiしたら「permission denied」
と出たのには、さすがに驚いた。
これの代替として、一般コマンドはbusyboxという統合バイナリを使う。「busybox mount」
とやればmountコマンドになる、という算段。私は無知だから知らなかったが、Wikipedia見る限り、古くからあるんだね。
私の場合は、[[2.1] Simple root instructions for Eclair]を参考にしてバッチを組みなおし、/system/xbinにsuとbusyboxを放り込んだ。凶悪にも777にしてある。
なお、面白いことに、公式マーケットにすらbusyboxのバイナリは置いてある。「ああ、文化がぜんぜん違うんだな」
と思い知った瞬間だった。
このへんの情報は、ググっても出てくるのはDevPhone関係ばかり。必然的にHTC系が一番情報が集まる。LGはギリギリだ。ソフトバンク003Z(ZTE Blade)はかなり魅力的だが、自分でイジれるようになるかは分からない。
「イジりたい」
という欲求があるなら、現状ではHTC系を買うのが一番いいのだろう。
理由はよくわからぬが、LG Optimus GT540に関しては、ロシアにものすごい猛者がいる。最新のカスタムROM2.2.1を作ってくれたのも彼だ。
その彼が作ってくれたツールで、「実機がレンガ化しても、BIOSにあたる部分でエージェンシー(緊急)モードにしてしまえば、ゼロから公式のROMイメージを入れなおせる」
という強烈なものがある。KDZ updater。私も1度fastbootを壊して無限ループに入って、これのお世話になった。→[4. OMG my phone is bricked (dosnt turn on or is stuck on LG screen)! What to do ?!
]
(そのロシアの彼にpaypalでお礼を送りたいのだが、困ったことにいまロシアへの送金はできないそうな。なんでだろね。国境って難しい。)
というわけで、これさえあればLG Optimus GT540は安心して実験ができる。
(たぶんHTCにも同じようなツールはあるだろう。少なくともXperiaにはあるようだ。→[docomoファーム向けCustomizer導入2:Xrecovery導入])
Androidには、通常のブート以外に、表題のモードがある。fastbootは、SDKのfastboot.exeにてflashROMのイメージを書き換えたりするモード。そのほかいろいろ。
これへの入り方は、機種によって違う。LGさんは、アジア圏・ユーロ圏・ロシア圏で設定を変えているようで、ググると何通りもの説明が出てくる。
(LG公式Webの動画マニュアルがあまりに親切なので、添付の紙の説明書を開いてなかった。そちらを見れば、ちゃんとセーフモードもエージェンシー(緊急)モードもやりかたが書いてあった。あまつさえ、「オープンソースOSの入れかた(ただし無保証になるよ!)」
まである。LGさん太っ腹である。)
で、アジア圏のOptimus GT540は、標準ではfastboot modeをオフにしてある、あるいはやりかたがわからない。というわけで、上記のKDZツールにてユーロ圏の公式2.1に入れ替えてごまかした。ユーロ圏機種の情報のほうが多いので。
fastbootモードにしたはいいが、fastboot.exeがデバイスを認識してくれない。「adb devices」
だと表示されるのに、「fastboot devices」
だとない。
調べた結果、adbとfastbootで使うドライバが違うそうだ。
LGさんの公式配布のUSBドライバーのインストーラーは、fastboot用のものはインストールしてくれない。まあ実機に詰んでないんだから当然かもしれない。−−しかしHDDには入れてくれる。
fastbootモードにしてPCにつなぐと、デバイスマネージャーで[Android Phone]となっているので、[ドライバの更新]で場所を手動で指定してやる。名称としては「ADB Interface Driver」
が入る。それで無事にfastbootでも認識された。
一般的に、アプリのデータ自体はだいたいSDカードorクラウドに入っているので、とりたててバックアップの必要は無い。しいていえばアプリのインストール履歴だが、私はAppBrainを入れているので、そちらに履歴もある。
だがいちおう、一般的な指導に従って、Astro File Managerでバックアップした。ちなみに、LG公式もAstroさんを使うように指導している。(訂正)apkファイル本体が保存される。インストールしなおしになるので、入力したユーザーIDなどは消える。
(誤記:com.astro.*などのネームスペース情報を格納する。ちょうどiPhoneのPkgBackupと同じだ。)
出荷状態に戻せることが分かっている。USBドライバも無事積んだ。幸い最低限のUNIXコマンドは分かる。怖れるものはなにもない。
というわけで、サクっと2.2.1にした。ただしアーリーベータである。→[LG GT540 - OpenSwift Project - (OS 2.2.1), by ankuch & Quarx] −−なお、SwiftとはGT540のペットネーム。
すんなり動いた。あっけないほどだった。
速い! なめらか! 同じマシンとは信じられないくらいだ。「Androidを実用にするには、1GHz+512MBなんかなー」
と思っていたが、OS2.2さえ詰めば、600MHz+256MBで無問題。−−まあRAMは多いに越したことはないが。
JITがあるので根本的に基本動作から速いこともあるが、理由は知らないが「RAMの空きが最低限でも32MB確保される」
ようになっているので、その効果が非常に大きい。−−LG公式2.1のままだと20MBまで減り、その状態だと日本語変換の結果学習時などに不如意な体感ラグがあった。OS2.2で、それが完全に消えた。
(また、LG標準のままだと、多数のプレインストールアプリがあり、それらはKILLしても自動再起動し、RAMを消費する。カスタムROMでは必然的にそれがないのも気分がいい。)
参考までに。LG公式の2.1を使う限り、RAM256MB搭載で、どれだけアプリを殺しても72MBしか空かなくて、逆にどれだけ起動しても20MBは確保される。−−OS本体と基本サービスで184MB使うのだろう。
(Swapの設定をして判明したが、LG配布の2.1はカーネルがSwapをサポートしていない。他社のことは知らない。なので、空きが20MB以下になったら、どういう優先順位でかは分からぬが、アプリをKILLしているかフリーズさせているのだと思う。)
OpenSwift版2.2.1を使うと、空き上限は同様に72MBだが、下限はなぜか32MB確保されている。−−このへん、OS2.2で改善されたのか、CyanogenModさんが頑張っているのか、そのへんは他のマシンを使っていないので分からない。
元旦2時にsuとbusyboxまで入れた。
2日にfastbootを壊してレンガにしたが、当日中にKDZさんを知り、無事に復旧。
3日(今日)にカーネルだけ最新(v3)にしたらWi-fiが死んだので、「じゃあいっそのこと」
と2.2.1にした。その結果に驚いて、この速報を書いた。
アーリーベータだ。記載どおり、カメラは起動しない。動画コーデックも足りていないようで、youtubeで動画を見ると、音声のみになって画面がブラックアウトして10秒後にOSリブートする。ここは自己責任だ。
結果として、余分な出費ナシで、[非常に快適なPIMマシン]+[ついったーマシン]を構築できた。ちょっとした調べモノも楽しかった。
というわけで、いま私は非常に幸福だ。充実した三が日だった。
suやbusyboxを入れるときに/systemをイジるのだが、このパーテーションは標準ではリードオンリーでmountされているので、ライタブルにremountする。
このときの/dev/block/mntblockの数字は機種によって違うので、ご注意を。LG Optimus GT540の場合、こんなかんじ。4だ。/etc/fstabはないので、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 /mnt/asec tmpfs rw,mode=755,gid=1000 0 0 /dev/block/mtdblock4 /system yaffs2 ro 0 0 /dev/block/mtdblock6 /data yaffs2 rw,nosuid,nodev 0 0 /dev/block/mtdblock1 /cache yaffs2 rw,nosuid,nodev 0 0
HTC系は3、Xperiaは2みたいですわ。ZTEは調べられるかな??
[calender]
→LG Optimus GT540(Android2.1)で2週間 遊んでみた | →LG Optimus GT540にカスタムROMで2.2.1を入れた | →Android2.2.1の動作の紹介(OpenSwift - CyanogenMod) | →たぶんAndroid OS2.1/2.2.1のほうの話と思われるところ
(動作は大変軽快。もたついているのは、撮影しながらの操作に慣れてない私のほうです。)
プレビュー(Expose)やらメニューのポップアップがアニメーションになってる。とりあえず楽しいので残したまま。
(なお、[設定]−[表示]にて、「アニメーションなし」
「一部のアニメーション」
「すべてのアニメーション」
に変更できる。標準は「一部のアニメーション」
。−−CyanogenModさんは、補助アプリにて、さらにアニメーション速度も変更できる。)
LGのAndroid2.1についてた標準ギャラリーは、撮影日付管理のみのシンプルなもの。フォルダ分けすらできない。機能が足りない。−−スクリーンショットを残してないのが残念。
2.2.1にしたら、フォルダ分けに対応したのはいいが、写真が飛び込んできたり、展開するとき飛び出したり、iPadやXperiaより過剰なものが標準になってた。−−あげく、傾きセンサーによって面が動く。それになんの意味があるのか。
(OS設定で「アニメーションなし」
にすると、傾き対応はオフになる。しかし、飛び込みアニメーションは生きたまま。)
こういうのはサードパーティーに任せておけばいいと思うんだけどなあ。ちうわけで、JustPictures!さんが手放せない。軽くて必要十分、かつ見た目もかわいい。
(てか、使用RAMみたら、標準ギャラリーが6.7MB、JustPictures!さんが3.1MBだ。いくらなんでも>6.7MB。そらRAM256MB機種には公的にはOS2.2.1卸せないわ。)
LGのAndroid2.1についてた標準Musicは、再生時のカバーアート表示が小さくて、ちょっと地味だった。かわりに、アルバム内曲一覧画面で、背景がモノクロDimのカバーアットだったりして、それはいいアイディアだと思った。
2.2.1だと、再生画面もちょっと綺麗になった。RAMは2.1時に3.8MB使用、2.2.1で3.9MB使用。
(なお、噂だけども、2.3だと、2.2.1ギャラリー同様、かなり動く模様。ほんと、そういうのはXperiaに任せておけばいいのに。→[Androidの音楽プレーヤー改良バージョンのビデオがリーク])
使う前にざっと調べたら、[3 Cubed]の評判がいい。しかし、自分はこのキューブ表示は理解できないなーと思っていた。
他のプレイヤーも試した結果、使用RAMの少なさと利便性で、結局[3 Cubed]を使うことになった。10MBもRAMを喰うプレイヤーがあるなかで、この[3 Cubed]は3.8MB=標準Musicと同じ、という、大変行儀のよいアプリだったのだ。このルックスで そんだけ抑えてあるのは、立派だと思う。
見た目は、[Menu]−[View]にて、Cube、Wall、Flow、あと普通の文字一覧に変えられる。ひとあんしん。
(あと、カバーアートのフェッチ機能が充実。後述する。)
このお天気は、見た目綺麗で好きだった。海外サービスなのに、nagoyaが登録できるし。ま、代わりに[Weather forecast widget][ピンポイント天気]を入れました。
メモも、お手軽で楽だった。ただまあ、データのExport機能がないので、結局は[外部記憶]にしました。
あと、電源を切るとき、背景がブワっとBlurしてダイアログが出る。処理的にはかんたんなのだが、たいていのダイアログは「Dimる」
「透けるダイアログが出る」
なので、けっこう新鮮だった。−−これはOS標準なのかLG特製なのかは分からない。
(ほかには、OS起動完了時の音や、USBケーブルを挿したときの音がなくなった。これは設定なり追加アプリなりでどうとでもできると思う。)
そういえば、このアーリーベータだと、[設定]−[表示]のなかにデジタイザのキャリブレーションがない。→[感圧式タッチパネルと「Graffiti for Android」
の相性の良さは抜群!【Androidアプリ】]
まあ、OSの初回起動時にはキャリブレーションしてて、めったなことではブレない。最悪、「初期化」
すればその画面になるわけで、キャリブレーションしなおせる。
このへん、アーリーベータなので。自己責任。
SDカードに放り込むだけ。どのフォルダでもいいけど、一般には「sdcard:\Music」
。サブフォルダ構造も、どういうふうでもいい。プレイヤーはID3タグを読む。
(わざわざSDカードを取り外さなくても、本体USBケーブルでマスストレージ認識させられる。)
iTunesと共用するにせよ、あれの実態は「My Music\iTunes Music」
なわけで、特殊なソフトはいらない。ふつーに、なんらかの差分管理ソフトがあればいい。
プレイリストはふつうにm3u。文字コードはUTF-8。
ただし、どうも実機側にはキャッシュがあるようで、SDカード上でプレイリストを変更・追加・削除しても、自動では適応されない。OS標準Musicでいったん削除して、アプリをKILLしてやると、SDカードの最新のプレイリストを認識する。
iTunesは「音が悪い」
「画面がでかすぎ」
etcいろいろ文句が付けられてますが、実際にはやっぱりNeXTの3ペインは使いやすいし、[スマートプレイリスト]は便利。名前は大仰だが、「検索結果マッチングによる動的プレイリスト」
だ。−−これ、Winampはなんで実装してくれないんだろ?
んで、そのiTunesのプレイリストをImportするには、Winamp5.4以降を使うと楽。スマートプレイリストも静的プレイリストに変換してくれる。
(メディアライブラリ下部の[ライブラリ]ボタンのなかにその機能がある、という不思議な仕様。なんで[インポート]のとこにないんだろ?)
WinampにはマスストレージAndroidデバイスを認識して音楽データ自体を同期する機能がある。ただし、これで音楽データを同期すると、うちの環境では なぜかカバーアートがぜんぶ消える。−−バイナリ埋め込みのデータから、どうやってカバーアートだけ消すんだろう??)
ID3タグベースで差分同期を取るようで、先に自分が好きな形でSDカードに音楽を入れておけば、「同期」
で入るのはプレイリストだけになる。−−強制的にPC側と同じフォルダ構造に変更されたらどうしようかと思ってたが、杞憂で済んだ。
さらにWimampが賢いことに、ローカル側とSDカード側で音楽フォルダの構造が違っても、SDカード側のフォルダ構造にあわせたプレイリストを生成してくれる。ありがとう>Winamp。
ただし、Wimampが生成するm3uはASCIIで、結果としてShift_JISだ。自分でUTF-8に変換するのをお忘れなく。
(なお、Wi-fi経由のAirSyncをするのでなければ、Android側にはWinampはいらない。USBマスストレージにするだけでいい。)
無料の同期ソフトとしてdoubleTwistが高名だが、PCサイドのソフトがタコすぎるので、オススメしない。なお、Android側のプレイヤー単体は悪くない。
タコ:起動すると、全HDDから画像・動画・音楽をスキャンしはじめる。中止する方法がない。ただファイルを検知するだけの動作のくせに、うちの800GBのスキャンに2時間かかった。しかも、次回の起動でもスキャンをかけ、15分はかかる。
「Unknown Artist」
Android2.1では、ファイルがm4a/aacだと、いくつかが「Unknown Artist」
になる。うちのデータの場合、639曲のうち196曲が「Unknown Artist」
。日本語・英字、無関係にランダムに発生。−−日本語ぜんぶNGとかなら分かりやすいんだが。
なお、再生自体には問題が無い。プレイリストもファイル名で構築されるので問題ない。ただ、気分が悪いんで、自分はmp3に戻した。せっかくHE-AAC 64kbにしてたのに…
(これはどうもm4a特有の謎動作の模様で、Symbianでも発生していた。→[携帯ソフトバンク・ノキア705NK。音楽MP3ファイルをWinampでaac変換し、直接携帯の...])
なお、変換し忘れがあって、3曲ほどUnknownのまま。その状態でOS2.2.1にしたら、ちゃんと認識しおった。なんだよ、OS2.1のバグだったんかいな。くそう、せっかくのHE-AACが…
音楽データ自体にカバーアートを埋め込んであるはずなのに、mp3/aac/m4aを問わず、自分の環境では3/1ほどカバーアートを取得できない。しかも、プレイヤーアプリによって取得の結果が異なる。−−これは2.2.1にしても直っていない。
欠損カバーアートを補うには[Album Art Grabber Free]が便利。ID3タグさえ整備できていれば、たいていはLastFM/MusicBrainzでキャッチできる。そうでない場合でも、SDカードの画像を使える。
このソフトを使った場合は、標準Musicおよび そのデータを使う全プレイヤーで表示可能。
楽なのは、上記の[3 Cubed]を使うこと。
Googleイメージ検索的なものを使うようで、[アーティスト名][アルバム名]に任意の2つのキーワードを与えれば、アルバムに使われた画像でなくても、現存するアーティスト写真などを取得することも可能。極論すると、[らきすた][こなた]てなgrabも可能。
−−ただ、残念なことに、そのカバーイメージは標準Muiscとは共用しない。惜しい。
「ジャンル」を認識するアプリが1つも無い
そもそもほとんどのプレイヤーアプリに「ジャンル」
機能がない。また、あったとしても、ID3タグを読まず、なぜか最終フォルダを「ジャンル」
として表示する。理由はしらない。
まあ、使わなければそれでいい。
一般にはカバーアートは「1アルバムに1つ」
だが、iTunesもWinampも、1曲ごとに別々のカバーアートを付けられる。−−わたしの場合は、1曲〜3曲しか入れないアルバムは一括して[other]アルバムにして、曲単位には元のカバーアートを使っている。
(−−便宜上、マルチカバーアートと呼ぶことにする。)
で、Androidは2.2.1でもこれに対応していない。Known Bugだそうな。→[Androidでのミュージックファイルアートワーク(カバーアート)仕様]
氏が解説してくれた仕様を逆手にとって、SDカード上で あえて1曲ごとにフォルダを分けてやると、マルチカバーアートを再現できる。
(とはいえ、こういうことをやるのは、私のような数寄者だけだろう。ふつうは「1アルバムに1つ」
だわね。そんなにエンタメしたけりゃiPhoneを使えばいいわけで。)
[calender]
→LG Optimus GT540(Android2.1)で2週間 遊んでみた | →LG Optimus GT540にカスタムROMで2.2.1を入れた | →Android2.2.1の動作の紹介(OpenSwift - CyanogenMod) | →たぶんAndroid OS2.1/2.2.1のほうの話と思われるところ
機種依存じゃないと思われる話を分離します。
実機でいちいち1つ1つなんて入れていられない。そこでhttp://www.appbrain.com/を使う。
追加で[Fast Web Installer]を入れれば、Webから[インストール]した瞬間に実機にPUSHされる。便利。
(2.2ではWeb版マーケットがあるとギズモードに書いてあるが、それがhttp://www.android.com/market/だとしたら、検索はおろかインストールはできない。んでもまあ、AppBrainが便利なので、私はこれ以上はチェックしない。)
アプリ自体を探すには、一般的にググってもいいし、次のようなサイトで探してもいい。見つけたら、AppBrainからインストール。−−ただし、最新すぎるものや、日本独自のものでは、AppBrainで見つけられないこともある。その場合だけ、実機の公式マーケットを使う。
こちらのサイトがどう誘導してるかというと、「QRコードで公式マーケットへ移動」
だ。そんな かったるいもの、私は使ってらんないよー
なお、OS2.3の発表と同時に、新バージョンのマーケットがリリースされた。それはOS2.1にも配布される。
それを入れてしまうと、Fast Web Installはおろか、AppBrainマーケットの一括インストールが無効になり、本家マーケットへのリンクとしてしか機能しなくなる。−−あれれ、サードパーティーマーケットも自由じゃなかったの?>Android
ただ、Updateが来ても、それをUninstallできる。そこの自由度は「Androidさすがだな」
だ。
現状では、自動シンクロ同期するのはGoogle公式サービスのみ。これらは、5秒以内には相互反映されている。
(リストにはTwitterやSkypeもあるが、5分やら10分やらの指定時間ごとに巡回するだけ。)
(PUSH通知機能は、iPhone/iOSだと3.0(2009年5月)から実装されている。ただまあ、アプリが出揃ったのは10月くらいか。汎用で代表的なのはBoxcarとNotifo。たとえば、Twitterでのリプライやファボられが、サーバーの具合がよければ一瞬、悪くて10秒程度で通知がくる。便利。)
AndroidのPUSHは、2.2のC2DM(Cloud to Device Messaging)で実装された。「Chrome To Phone」
が実演デモ。
しかし、OS2.2の実機販売あるいはアップデートは2010年10月から。まだ出回っていない端末用の機能が充実しているはずはなく、2010年12月に探した限りは、公式RTMくらいしか発見できなかった。
参考:Android1.6でもAndroid Marketなくても動くC2DMを作ってみた(throw Life:simejiの作者さん)
(余談:とくにTwitter関連のPUSH通知について)
ではPUSHのないAndroidではどうしているかというと、シンプルに、指定した時間間隔で自動巡回している。
Twitterだと、クライアントが5分なり10分おきにクロールし、「replyされ」
「DM」
を通知する。−−「1分」
が選べるのはPlumだけだと思う。もちろん、細かく巡回させればバッテリーを食う。
ちなみに、PCにもPUSHはないので、原理的には同じだ。そして、「replyされ」
「DM」
を通知する。
ところが。上記のBoxcarもNofitoも、「ふぁぼられ」
「ふぉろーされ」
「RTされ」
「リストに追加され」
まで通知してくれる。しかもリアルタイムに。
これがあると、Tiwtterの楽しさは3倍増しになる。リプライに瞬時に対応できるだけでなく、あとあと自分の発言がふぁぼられたりするのを知れると、けっこう世界が変わる。
(誤記:Google Chrome向けNotifoがあるので、Twitter PUSHを体験してみてくださいませ。)
なんでPC向けソフトやAndroidにはその機能はないんだろね? −−当然だが、それらを取得するためのTwiter APIは存在する。
「なければ作れ」
で、自分で感知だけのデーモンを作ってみようかなあと思ったが、Nofitoの設定で「通知をメールでも送る」
があり、gmailに送ることでPUSHとした。−−しょっちゅうgmailが来るのでウザくなってしまうが、まあ、それはそれ。
なお、Notifo for Androidは絶賛開発中だそうな。のんびり待つ。
圧倒的に2.2.1がいい。ぜんぜん違う。
OSの機能として。PUSHも2.2から。Web版アプリマーケットも2.2から。JITも。Web本文などのコピペも。2.2での新機能は、どちらかというと「ないとおかしいんでないの?」
のものが多い。→[Android 2.2についてのまとめ]
OS2.3の新機能は、SIP標準搭載、イコライザー標準搭載、コピペUI対応、巨大ディスプレイ対応など。比較的 拡張と言えるところ。まあ、あとまわしでもいい。→[Android 2.3(Gingerbread)における新機能、変更点のメモ]
自分で使う前は、「iPhoneは3GS(600MHz+256MB+OS3.0)からまとも」
「AndroidはSnapdragon 1GHz+OS2.1からまとも」
と思っていた。ここで訂正する。「OS2.2.1+1400mAhからまとも」
だ、たぶん。うちの600MHz+RAM526MBでも、PIMとしては十分機能する。
(エンタメしたければ、1GHz+512MBを選んでください。そして、バッテリー容量にはとくに注意してください。Androidは予備バッテリーに交換できるので、それ使えば問題ないと思うけど。)
Androidの目玉の1つはインテント(UI上ではshare:共有)だろう。アプリからアプリへ次々とデータを渡しながら連携処理できる。たとえば、「メモ帳での下書き→メール」
、「メモ帳→Twitter」
、「写真閲覧→Twitter」
。
(私の場合、GTaskを「あとで読む」
として使っている。ありとあらゆるものをインテントでGTaskに放り込む。)
これは大変便利だが、現状は「大物アプリは案外インテントに対応してない」
という状況になっている。
たとえば、[Photoshop Express]は、差し出しも受け入れも対応してない。標準ギャラリーなどで写真を見ていて「あ、レタッチしたい」
と思っても、Photoshop Expressへ送ることはできない。Appを起動してセレクトしてレタッチ後、それをTwitterなどに送ることもできない。−−ただし、AdobeのサイトにUpする機能は付いている。つまり、iPhoneと同じだ。
ほかにも、[fring]も[Skype]も対応していない。メモった下書きをSkypeIMに送ることはできない。
(大物はPCやiPhoneと共通開発するのでAndroid専用の機能を入れにくいのかもしれないし、また開発者のかたがコソっと教えてくれたが、「ユーザーの要望が、iPhone的な、単体でなんでもできるアプリのほうを求める」
てなこともあるらしい。)
また、インテント対応ソフトを入れすぎても、今度は「一覧」
にズラズラと並びすぎて、本当に送りたい相手を見つけるのに苦労したりする。一長一短。うまく使おう。
「Menuを押せ!」
(あえて順序を時系列にしていないが、実は私が最初にトラブったのはコレだ。)
[設定]−[無線とネットワーク]−[Wi-fi設定]へ行っても、アクセスポイントとパスワードを入れる画面があるだけで、静的IPが選べない。ふつうはDHCPでいいだろうが、うちの安物Wi-fiルーターはDHCPに30秒くらいかかるので、静的IPで運用している。
で、ググって調べると、[Menuを押す]が解決だった。それで静的IPの項目が出てくる。
iPhoneに染まっていると忘れるが、PCでもMacでも、機能の一部はメニューに入っている。Androidでは、「迷ったらMenuを押す」
、あるいは項目を長押しするとポップアップが出たりする。
上記の方法だと、OS2.1では全アクセスポイントで静的IP、しかも同じIPになってしまう。−−OS2.2.1だとなんとなく解決してるっぽく見るが、ウチはカスタムROMなので、標準でそうなのかどうかは判断できない。
回避するには[Wifi Static]を使う。これで、アクセスポイントごとにDCHP/静的IPを登録できる。
インテント同様に、Androidで便利なのは[戻る]ボタンた。
ただし、柔軟すぎて、動作が必ずしも一定していない。
たとえば、シャットダウンのダイアログ。ここで[戻る]はキャンセルになる。
ところが。上記の静的IPの設定のペインでは、[戻る]は「確定して前に戻る」
だ。−−このへん、どうも違和感を覚える。
(ダイアログに関しては、明示的に[OK][キャンセル]ボタンを用意しているアプリもあるので、やっぱり[戻る]が確定なのかキャンセルなのか、明確な基準はないみたい。やってみるしかない。)
URLを踏むなどしてアプリAからWebブラウザに飛んだとき、[戻る]は「アプリAに戻る」
として機能する。そして、いろんな操作の後にHOMEへ行き、再度Webブラウザを開くと さきほどのURLを表示しているが、ここで[戻る]は「その前に開いていたページに戻る」
になる。−−「HOMEに戻る」
ではないのだ。
ほんとに柔軟にできているので、慣れれば便利。
空きRAMを確保するだけでは意味がない。自分に必要なものがon memoryになるようにチューニングする。私の場合はPIM系を残す。写真アプリなどは定期的に殺すようにする。
また、どんなアプリも、起動し続けることで使用RAMが肥大化する。たとえば、標準Musicは最初は3.8MBしか使用しない。これが5.8MBくらいになっていたら、1度KILLしてやる。
rootがなくても、たいていのタスクマネージャ・タスクキラーは、サービス(デーモン)まで殺せてしまう。−−まあ、さすがにカーネルは出てこない。
アプリはドロワーから自分で確実に再起動できるが、デーモンは自動的に再起動するものとそうでないものがあるので、自分で試して確認すること。
たとえばCalender Strage。カレンダー系を起動すると、同時にこのデーモンが起動する。Calender Strageを殺してもカレンダーアプリは動作し続けるしデータも同期するが、カレンダーのアラートが機能しなくなる。−−なお、カレンダーアプリを再起動すれば、Calender Strageも再起動する。
たとえばGoogleTalkサービス。これは[設定]−[アプリケーション]−[実行中のサービス]に出てくる。「私はGoogleTalk使ってないので」
とKILLしたら、どうもこのタブはグループを意味しているらしく、同時にGmail・GoogleCalenderの同期サービスも死んでしまった。これはなぜか自動再起動してくれない。
(MapもGoogleのサービスだが、タブが違うので、こちらは殺しても同期に影響はなかった。もっとも、瞬時に自動再起動するので、あんまり意味は無い。)
この管理画面を見ての推測だが、どうもデーモン用とアプリ用に別途RAMを確保してあるようだ。下部のAvailがアプリ領域、Otherがデーモン領域。−−タスクキラーのデーモンは10MBも占拠するが、アプリ側のRAMを圧迫することはない。
とはいえ、うちの256MBのマシンで10MBも使ってオートキルするのが賢いのか、思い出したときに手動でKILLしたほうがいいのかは、今後精査が必要。デーモン増えれば必然的に消費バッテリーも増えるだろうし。
上記のとおり、ほとんどのことがrootがなくてもできる。なので、別段suを入れる必然は無い。−−極端な話、カスタムROMのインストールすら、root権限はいらない。SDKさえあればいい。
iPhoneにはsuがある。しかも、全機種パスワードが一緒になっている。−−脱獄しない限りは表にはでていないはずだが、どこかでセキュリティホールがあったら、まあ一発だ。現在のところ「脱獄+OpenSSH+標準パスワード」
のみの感染だが、ウィルスは実在する。
一方、Androidには、そもそもsu自体が入っていない。
そして、suを入れても、実はパスワードがない。代わりに、実機側に「プロセスXXXXがスーパーユーザー権限を求めています。許可しますか?」
というダイアログが出る(そのソフトもsuといっしょに入れるのがお作法)。SDKのadb shellですら、実機側のこのダイアログで許可しない限りsuになれない。
そして、許可以降も、su権限が発動するたび、小さなポップアップで明示される。
というわけで、状態としてはAndroidのほうが安全な気がする。まあ、悪意があるソフトは、なんだろうと潜り抜けるのだろうけども。
「標準ではスクリーンショットが撮れない」件
有名な話として、OS1.6ではrootがないとスクリーンショットが撮れない。
(ただし、自分のLG Optimus GT540 OS2.1の場合、suがなくても[ShootMe]で撮れた。OS2.1で変わったのかもしれない。)
こうなった理由について、開発者の方に教えていただいた。
審査がない=裏でスクリーンショットを常に撮ってランダムにメールするようなアプリすら作れてしまう。
というわけで、「標準ではスクリーンショットが撮れない」
は、審査ナシの自由とのバーターであるらしい。
メーカーが発売時に、それ独自のスクリーンショット機能をつけたものはある。安全さえ保障されれば、Googleが禁止するわけではない。
[calender]
[Android][Optimus]スペックOptimus GT540あらためて。115g。ROM256+RAM256ってことになってるな。1500mAh。600MHz。2.1。
[Android]Aria 3.2inch 115g。2.1。600mHz。RAM384+ROM512。3.2inch 320 x 480。1200mAh。凡庸で理想的かも。イーモバのは2.2。静電容量式
[Android][Optimus]スペックOptimus One。129 g、2.2、600 MHz、512+512、3.2inch320X480、1500 mAh。LGは1500 mAhにこだわりでもあるのかしら。$ 295 通販 http://bit.ly/fMWeIj 静電式
HTC Desire HDで1200mAh。どうなんでしょ。RAMは768 MiB。
HTC Desire無印、RAM576 MiBの1400mAh。あれ、HDはバッテリー減らしたんだ。最適化うまくいってるの?
iPhone3GSは1218mAh、4は1351mAh、iPadは6613mAh。本体のほとんどが電池なだけあって、圧倒的だなiPad。
[Android][ハードウェア]スペックZTE Blade、ソフトバンク003Z。130g、2.1、600 MHz、512+512、3.5inch480x800、あれでかい。1250 mAh。 ソフバ版は110gになってる。
[Android][ハードウェア]スペックHuawei ソフトバンク004HW。120g、2.2、600 MHz、512+512、3.2inch320x480。バッテリー不明。元型番分かればなあ。
2010年2月記事だが、Huawei U8300、ちっこくてキーボード付き。かわいいな。実用になるのかはしらんが。んで、そのHuawei U8300、あるいは後継が。スペック2.6inch、110g。528MHz、ROM512+RAM256。930mAh。むー、1日持つかね?
2011年1月CES発表では、魅惑的なマシンが出てますな。選択肢があるのはいいことです。ただし、2011CESは3.0ハニカムが主眼=タブレットに近いタイプ=4inch以上ばっかりで、私の好みではないんですが。
IDEOS X5、3.8inch、800MHz、RAM不明、1,500mAh。これもソフバ004HWとは違うねえ。ソフバ004HWは専用開発なのかしら
Acer Liquid Mini、3.2inchキター! スペックOS2.2、600mHz、512+512、109g、1,300mAh。あ、これかなり実用やん? HOMEが真ん中に無いのが惜しいけど。
ところで、「日本人が作る、日本人向けのAndroid」
なら(auがそんなことをいっとる分けですが)、「一般ケータイと同じサイズ、物理ケータイキー、ストレートor折りたたみ」
だと思うんですが。なんでiPhoneスタイルばっかり出しちゃうかね>日本メーカー。いいかげん飽きたよ。
[calender]
iPhoneのUIアニメーションを高速化するFakeClockUp(もやしさん=ひとりぶろぐ、Tweakの作者はnoviさま)
iPhoneにはリッチなアニメーションが多様されていて、かわいいが たまに「いや今急いでるんで」
と思う。
んで、前に[iPhone4/3GSをほんのちょっとでも速くするには]てな悪あがきをした。しかしこれは、アプリ起動のアニメーションしか間引けない。
FakeClockUpは、すべてのアニメーションを間引いてくれる。起動時のアニメーションに0.5秒とってあるところ、x2.0にすれば それが0.25秒になるので、実際速くなる。
間引いているだけなので、バッテリーは一切消費しない。→http://twitter.com/hitoriblog/status/23710484574240768
もちろん、クロックアップはしてないため、なにかの処理(通信なり描画なり)にかかる時間は同じだ。でも、iPhone4なら そちらは十分に速い。だからこそ、Appleさんの意図的なアニメーションウェイトが気になる。
というわけで、これはすごい。しかも楽しい。これは流行る。そして、もやしさんのサーバーがまた落ちてしまうのだ。
[calender]
2004 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2013 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2014 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2015 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2016 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2017 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2018 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2019 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |