外部機器とUSB通信が再開できない [ADK関連]

165 views
Skip to first unread message

Hiroki Gotoh

unread,
Aug 22, 2013, 10:25:11 AM8/22/13
to android-g...@googlegroups.com
こんにちは、いつもお世話になっております。

Android Open Accessoryで外部機器とUSB通信するためのアプリを試作しています。
どうしてもハマっている問題があり投稿させていただきました。

[問題]
USB通信中に以下の事象が起こると、通信を一向に再開できないでいます。

・OSによってアプリが強制終了される(メモリ不足や長時間Background滞在など)
・タスクキラーアプリなどでアプリが強制終了される
・アプリをアップデートする

アプリを再起動したりプロセスをKILLしたりしてもダメで、一度USBを抜き差ししないと復帰しません。(USB抜き差しはなるべく避けたいのです・・)
Android OSのバグ?かと疑っているのですが、何か妙案がある方、同様の症状で困っている方など、何でも良いのでご意見いただけると幸いです。

[補足]
・使用している外部機器は、Microchip社のADK(PIC24F)やMacです。
・Microchip社のサンプルアプリや書籍のアプリ(Android×Arduinoでつくるクラウド連携デバイス)などでも確認しましたが症状は同じでした。
・アプリからデータ送信しようとすると、必ず以下のエラーが出て失敗します。
----------------------------------------------------------------------------------------
W/System.err(17198): java.io.IOException: write failed: ENODEV (No such device)
W/System.err(17198):  at libcore.io.IoBridge.write(IoBridge.java:462)
W/System.err(17198):  at java.io.FileOutputStream.write(FileOutputStream.java:187)
・・・・・・
W/System.err(17198): Caused by: libcore.io.ErrnoException: write failed: ENODEV (No such device)
W/System.err(17198):  at libcore.io.Posix.writeBytes(Native Method)
W/System.err(17198):  at libcore.io.Posix.write(Posix.java:178)
W/System.err(17198):  at libcore.io.BlockGuardOs.write(BlockGuardOs.java:191)
W/System.err(17198):  at libcore.io.IoBridge.write(IoBridge.java:457)
W/System.err(17198):  ... 23 more
----------------------------------------------------------------------------------------

・受信処理がブロックするというバグ↓が報告されていますが、試しに外部機器からデータを定期的(1秒)に送信させた状態でテストしてもダメでした。

Reply all
Reply to author
Forward
0 new messages