« 2011年3月 | トップページ | 2012年1月 »

2011年4月19日 (火)

LISMOの突然死

我が愛機IS03がAndroid 2.2になったこともあり、以前はもっさり感バリバリだったLISMOを、せっかくだから使ってみよう、ということで、ここ最近ロードテストをしている。

で、巷で話題の「LISMOで音楽を再生していると再生が突然止まる」という現象、いわゆる「LISMO突然死」だが、それほど頻度は高くないものの、ぼくの環境でも何度か発生した。

「これは調べねば!」ということで、開発環境のEclipseまで持ち出して「その瞬間」をトラップできないか、とやってみたのだが....。状況を整理していて、ふと思いついたことがある。「Automatic Task Killer」の存在だ。

Androidにおける音楽再生手続きは、Activity(≒フォアグラウンド実行中のプログラム)がAudioサービスにデータを引き渡すことで行われ、制御がバックグラウンドサービスに移行することでスリープ中でも音楽が流れ続ける、という仕組みになっているのだが、親ActivityであるLISMO Playerをkillしてしまうと、戻り値を返すActivityがないのでそれにつられてAudioサービスが再生をやめる、という、よく考えてみれば至極当然のことだったという。

しかも「Automatic」というくらいである。スリープ復帰の際無視リストにないアプリは根こそぎkillしてくれるので、こちらとしては現象がよく理解出来ないまま「突然死しやがった、なんだよこれ」ってことになるわけで。

まぁ、自分だけで完結している話なら「ああ、納得」で済むところだったんだが、いかんせん早とちりしてトンチンカンなことをツイートしてしまい、僕が迷惑をかけてしまった人がいる。
一応「ごめんなさい」mentionは送ってみたが....。

まぁ、こういうのがネットデマの発端だったりするんだろうなぁ、反省。

| | コメント (0) | トラックバック (0)

2011年4月10日 (日)

デバッグ用証明書

久しぶりにAndroidの開発をやろうと思い、Eclipseをあげてプロジェクトをコンパイルしようとすると、Error generating final archive: Debug certificate expired on なんたらかんたらと怒られてコンパイルが通らなくなった。

文脈からすると、デバッグ用証明書の有効期限切れということなんだろうと思いいろいろググってみたら、デバッグ用証明書である debug.keystore ファイルを作りなおせ、ということのようで、Androidの「Debug certificate expired」エラーの対処方法をもとにdebug.keystore ファイルの構築をやってみたのだが....。
今度は「パスワードが合わない」と怒られる羽目に。

debug.keystore ファイル自体はEclipseにインストールしているAndroid DDMSで作成されるようで、Windows版の規定では%UserProfile%\.Android 以下にあるのだが、JDKのkeytoolコマンドで作成されるkeystoreのパスワードがわからないことには、開発もままならない。

まぁ、これで商売しているわけじゃない(笑)ので、ものは試しで%UserProfile%\.Android\debug.keystore をエクスプローラから削除して、Eclipseを-cleanで起動。
すると、メイン画面をロードしたときにdebug.keystoreを再作成してくれたので、これで当座はなんとかなりそうだ。

とはいえ、有効期限が365日に設定されているみたいなので、1年ごとに同じ作業をやらなきゃいけないのか? という問題が付いて回るのだが....。keytoolコマンドでカスタムのデバッグ用証明書を作成してそちらを使え、ということなんだろうか。要検証。

| | コメント (0) | トラックバック (0)

« 2011年3月 | トップページ | 2012年1月 »