2010年8月12日木曜日

m001etc-ビーサン

●はじめに

Beta 3版。
主にGPS以外のその他不具合の修正を行いました。
GPS処理に部分については変更無しです。
GPSレシーバーが壊れたので、GPS部分の動作確認は取っていません。

M003なんちゃって対応版も同時に公開します。
ダウンロードはいつものように、右のサイドバーからどうぞ。


●B2からの変更点
  • スリープ(バックライト消灯)時の状態遷移の不具合修正。
  • デバッグログ出力の整理。
  • Setting.apkをオリジナルに戻した。

●解説
スリープ時の状態遷移について。
M001系のAndroidはハードウェア上、完全なるスリープ状態にはならず、単なる画面の消灯しか行っていません。
したがって、Android標準のスリープ遷移を実行しようとすると、今回のような状態復帰などの不具合が発生するものと考えられます。

Setting.apkをオリジナルに戻すことについて。
「設定」などのシステムアプリはハードウェア依存の項目が含まれていますが、自家ビルドしたものでは、依存部分のソースコードが含まれないためそういった設定項目が反映されません。
M001では、タッチパネルキャリブレーションとGセンサー設定が上げられます。
しかし、オリジナルの「設定」では、位置情報やGPSに関する設定がすべて殺されてしまっていて設定できません。
そこで、オリジナルの設定機能を残したままGPSを使用できるように、GPSについてはデフォルトでON固定になるようにしました。
実際、GPSレシーバーの運用を考えると、現状ではホットプラグに対応する事が難しいため、その場でON/OFFする必要がありません。
GPSレシーバーが接続されていないときはレシーバーとの通信エラーになり、LocationProviderがその状態をアプリ側へ返すため、特に問題がないと考えます。
よって、Setting.apkについてはオリジナルに戻すことにしました。
GPSは設定しなくても、内部的には機能が有効化されています。


●thumbserverの処理抑制

バックグラウンドで動作する、メディアファイル用のデータベースサーバーです。
このサーバーのメディア走査処理が非常に重くM001の動作に影響を与えています。
SDカード等に存在するすべてのメディアファイル(音楽、画像、動画)を調べ、データベースへ蓄積していきます。(~peacockディレクトリ内)
大量のJPEG画像ファイル等があると、バックグラウンドですべてを走査するので非常に重くなり、動作がもたつく事があります。
そもそも、このサーバーはPEACOCKのメディアアプリ用に作られたもので、該当するアプリを使用しない場合、まったく必要がありません。

ただし、このサーバーは画面のキャプチャ処理に関わっており、サービスを停止すると画面キャプチャが撮れなくなるという問題があります。

そこで、メディアファイルの走査のみを抑制する方法を調べたところ、下記の方法で抑制できる事がわかりました。
走査して欲しくないディレクトリ内に .nomedia ファイル(ドットnomedia)を作成する。
ファイルの中身は空でも、何か書かれていても、どちらでも構わない。
thumbserverは、上記ファイルが存在するディレクトリ以降の下位ディレクトリも含めてメディアファイルの走査を中止します。

参考までにログ出力の様子です。
D/MediaScanner(  329): found .nomedia, skipping directory
D/MediaScanner(  329):  postscan directories: /sdcard

I/ActivityManager(  146): Stopping service: com.android.providers.media/.MediaScannerService
D/        (   51): found .nomedia, skipping directory
D/        (   51): start thread 1 at /sdcard/************
D/        (   51): [----I]Start file monitor loop
D/        (   51): CREATE OR OPEN DATABASE /sdcard/~peacock/peacock.db
D/        (   51): ------------version:210-------------
D/        (   51): [-------I]rootdir DELETE BY syncDB()
D/        (   51): ------------version:210-------------
例えば、SDカードのルートディレクトリに .nomedia ファイルを置くと、そのSDカードに対してはメディア走査を一切行いません。


以上。


この夏の必須アイテム(?)ビーサン。

スリープ復帰については確信を持った処理とは言い難いんだけど、ログのトレース上はタブン問題ないと思う。
けど、何かあったらコッソリ教えてくだされ( ̄∇ ̄)

不要アプリは削ったし、swapも使えるし、thumbserverは抑制できるし。
最初に比べればかなり軽くなったなぁ。
おかげで、Androidのノウハウも色々分かってきて面白い。
他のタブレットやら、Froyoとかでも応用できれば面白いだろうなぁ~。

ちなみに、
明日からしばし休みに入るのだ(`・ω・´)
しばらく、ほげるのもお休み。。。。

とかいいながら、出先にノートPC持って行ってほげってそうww

11 件のコメント:

  1. ビーサンキター!!
    お家に帰ってから履いてみます。
    てか今日は雨が強いからサンダルでしゅっきん!したい

    返信削除
  2. おはようございます。
    B3作成お疲れ様です。
    m001etc-m003B3 書き換えてみました。
    GPS メニューありませんでした。
    残念!
    ご報告まで。

    返信削除
  3. おしこうじさん、お試しください(^o^)

    sigeさん、
    設定をオリジナルに戻したのでGPSメニューはなくなりました
    が、内部的にはONになってます。
    設定できなくなっただけで使えるはずです(^_^;

    返信削除
  4. お疲れ様です。おしこうじです。

    m003B3を試してみました。
    GPSは問題なく使えています。

    起動時のロゴをいじってみました。
    ダウンロードはこちらから
    http://www.megaupload.com/?d=KUIU9R7N

    それから、日本語フォントが自動的に入るようにupdate.shを改造してみました
    cp ${SDCARD}/script/fonts/* /mnt/mtd/system/fonts
    この一行を挿入して
    script/fonts
    というディレクトリを掘り、好みのTrueTypeフォントをDroidSansJapanese.ttfとリネームして放り込んでおくとアップデート時に自動的に/system/fontsにコピーされます。

    私はMigMixフォントというのを使わせてもらってます。
    http://mix-mplus-ipa.sourceforge.jp/migmix/

    一度お試しください。

    返信削除
  5. そうそう、ホーム画面の検索ボックスを使おうとすると毎回セキュリティの設定に飛ばされるのはなんなんでしょうね。
    めんどうだから検索ボックス消しちゃいましたが。

    返信削除
  6. 休暇から戻り( ̄∇ ̄)
    なんか、帰省ラッシュのお疲れおとーさん状態でグッタリ。
    しかーし、休み前に注文しといたナニが届いてたので意識を取り戻しました(`・ω・´)
    明日からまた実験だ(笑)

    おしこうじさん。
    ロゴ!!GPS載ってるww
    これ、使わせてもらってイイですか?w

    フォントの置き換えもイイですね。
    私も中国書体フォントがなんだかなーって感じで使ってました。
    色んなアイディアが出るなぁ(笑)

    返信削除
  7. どーぞどーぞ。もともとそのつもりで作りましたから。ぜひ。
    起動ロゴ作っていて発見したのですがどうやらbmpファイルが200kb超えると変なノイズ交じりの画像になってしまうようです。

    BlackMarketDownloaderがバージョンアップしてまた使えるようになりましたね。

    返信削除
  8. こんにちわ、
    ↓これを購入して
    http://szparts.com/?pid=15575493
    ↓ここを見て設定
    http://szparts.com/?tid=1&mode=f4
    したんですが、見事撃沈。
    認識してくれません。
    ご報告まで。

    返信削除
  9. おしこうじさん、ありがとうございまーす(^^)
    B4に向けて作業中(`・ω・´)

    sigeさん、ご安心ください!!
    私もしょぼーん(´・ω・`)仲間です(笑)
    壊れたGPSの代替に安さに釣られて買ったらば動きませんでしたww
    幸い、もう一種類別のものを購入してたのでテストはできるんですけどね。

    コレ、ショップの説明では pl2303が使われていると書かれてますが、実際には違うチップが使われているようです。
    Silicon Labs社 cp2102 と言うUSB-シリアルコンバータチップらしく、ドライバもぜんぜん違うものです。
    おそらく、SKM50をリビジョンアップした時にシリアルチップの変更があったのでしょうね。
    説明がないのは店も気付いてないんでしょう。

    と言うわけで、動きません(´・ω・`)・・・

    では、全っ然おもしろくないので、捏造自家ビルドドライバを make中です(笑)
    ひょっとしたら何とかなるかもですww

    返信削除
  10. 追記

    ドライバデキター!コレ(*´д`*)ハァハァ
    動いてる動いてるww

    ちなみに、Windows用ドライバをSilicon Labs社のサイトからダウンロードして動作を観察してみました。
    アンテナが良いのか、衛星からの受信レベルは高いと思います。
    初期状態からの衛星の捕捉はややゆっくりで、早いとはいえないです。
    混み入ったところなんかでは他のものより安定して動作しそうな気がします。

    SzParts今見たら品切れになってますね(^_^;

    返信削除
  11. こんにちわ
    安さに釣られて買ってしまいました。
    同様です。安さにつられました。
    B4楽しみに待ってま~す。

    返信削除