Galaxy Nexus 電話と公式のArduino ADKボードを使用して、Android アクセサリを開発しています。ここで入手できるすべての標準 Arduino ライブラリを使用しています。実行時に Android コードをデバッグできるようにしたいので、WiFi 経由でリモート デバッグを行うために、Google の「デバッグに関する考慮事項」ドキュメントの指示に従いました。
USB経由で電話に接続すると、問題なくデバッグできます(もちろん、Arduinoボードとは通信していません)。WiFi経由で電話に接続すると、問題なくデバッグできます。ただし、ボードを電話に接続すると、アプリケーション (ADK デバイスに登録されている) が自動起動しなくなります。代わりに、アプリケーションを手動で起動しましたが、Arduino アクセサリが見つかりません。USBデバッグに戻り、ADKボードを電話に再接続すると、通常どおり自動起動し、すべて問題ありませんが、デバッグできない状態に戻ります.
この間、コードに変更はありません。私がしたことは、adb ツールが電話に到達する方法を変更したことだけです。電話と私のアプリケーションが ADK ボードを認識できなくなった理由を推測できますか?
要するに:
- 電話が USB 経由でデバッグするように設定されている場合、問題なく Arduino ADK と通信できます。
- 「adb tcpip 5555 < enter> adb connect < device-ip-address>:5555」を呼び出すと、問題なく電話をリモートでデバッグできます。
- ここで ADK ボードを USB ケーブルで電話機に接続すると、電話機は ADK ボードを検出できませんが、WiFi 経由でリモート デバッグを実行できます。それが、アクセサリが見つからないことを私が知っている方法です。
編集: 電話は Android 4.1.1 を実行しており、Arduino は 1.0.1 です。