Beagleboard RevC4にdonutを入れて動かしています。Ubuntu9.04上のEclipseからプラットフォームのデバッグをし
ようと、
http://source.android.com/using-eclipse
を参考にして環境を整えようとしているところです。
BeagleboardにはUSBのOTGポートに接続しており、adbおよびDDMSは接続できています(コマンドラインおよびEclipseの
ADT経由ともに)。
Eclipseにdonutのプロジェクトを読み込ませ、USB経由ならEmulatorと同じかと、上記サイトの"Debugging the
emulator with Eclipse"の記述に従ってHostにlocalhost ポートに 8700を指定してデバッグを実行すると、
「Failed to connect to remote VM
com.sun.jdi.connect.spi.ClosedConnectionException」
というエラーが出て接続できません。
Webを探してみると、同じような現象に会われている方もいらっしゃるようですが、解決策までは見つかってないようです。
どなたか解決方法をご存じないでしょうか。
よろしくお願いします。
やっぱり解決方法をご存じの方、いらっしゃらないようですね。
ちなみに皆様はプラットフォーム開発をどのような環境でされているのでしょうか。
MSのVisual Studio出身なため、統合環境の中でブレークポイントを設定したり
してDebugできれば楽なのですが、たとえばこちらのサイトに載っている方法が
スタンダードだよ、といった情報をご存じの方いらっしゃいましたら、教えていたけ
ませんでしょうか。
よろしくお願いします。
探せば情報があるのかもしれませんが、
恐らく、ホスト側にBeagleBoardのUSBに対応したドライバが必要だと思います。
ちゃんとしたやり方はわかりませんが、コマンドプロンプトから
> adb connect 192.168.x.xx:5555
とadbでネットワーク接続すると、eclipseから認識できますので、
デバッグは可能になります。
五十嵐
五十嵐様、情報ありがとうございます。
On 4月6日, 午後5:19, Atsuo Igarashi <atsuoigara...@gmail.com> wrote:
> 探せば情報があるのかもしれませんが、
> 恐らく、ホスト側にBeagleBoardのUSBに対応したドライバが必要だと思います。
USBのOTGについては、adb, DDMSで接続できているので大丈夫だと
思っています。
> ちゃんとしたやり方はわかりませんが、コマンドプロンプトから
>
> > adb connect 192.168.x.xx:5555
こちらも試してみましたが、
unable to connect to 192.168.0.6:5555
といわれて接続できませんでした。ubuntuのufwとWindowsのfirewallは止めています。
実はLAN経由でのDebugも何度か試したのですがうまくいかずにいたので、いずれ
質問させていただこうと思っていました。
有線LANはBeagleboardのUSB HOSTにセルフパワーのUSBHUB経由でメルコのLUA-TXというUSB-LANアダプタを
使用しています。AndroidからはWebブラウザでwww.google.co.jp等の外のサイトが表示できています
ので、LAN自体はちゃんと動いていると思います。
で、HOSTであるubuntuからbeagleboardにポート番号1から65535すべてに対してポートスキャンをかけて
みましたが、どのポートも開いていないようで、何か設定を忘れているのだろうな
と思っているのですが、それが何だかちょっとわかりません。
もしご存じの方いらっしゃいましたら、ヒントをいただけませんでしょうか。
よろしくお願いします。
USBのほうも接続出来ていそうなので、設定のApplications->Development
->USB debuggingはチェックされていますよね。
ただ、localhostだとエミュレータしか指さないと思いますが、他の指定は
ないのでしょうか。
USBのほうはちょっとわかりませんが、ネットワークのほうでは
環境がまったく私と同じなので、私の場合は以下のように見えています。
PORT STATE SERVICE
5555/tcp open freeciv
なにかがちがうようですが、androidは最新でしょうか。
五十嵐
adbのUSBとLANは排他です。USBが生きているとLAN側は閉じている
と思います。
$ adb shell getprop ro.secure
1が返ってくるのであれば、/default.propなどを見直して、0を設定して
みてはいかがでしょうか。ro.secureが0だと、LANからadb接続できる
はずです。
$ export ADBHOST=192.168.0.xx
$ adb kill-server
$ adb start-server
$ adb shell
#
このようにしてrootで入れるようになると思います。
ただ、これとフレームワークのデバッグをEclipseで行うこととは別の
問題です。Eclipseでフレームワークのビルドができないため、デバッ
グを行う手法は残念ながら知りません。android-portingなどのMLで
読んだことがあるような気もするのですが、発掘出来ませんでした。
ではでは。
気を取り直して検索してみました。
Remote Java Debugging
http://groups.google.com/group/android-platform/browse_thread/thread/b0b59f3c21d6e77c/6d941409daefaceb?lnk=gst&q=Eclipse#6d941409daefaceb
このあたりを組み合わせるとうまく行くかもしれません。
ではでは。
お世話になります。大槻です。
情報ありがとうございます。拝見させていただいたところ、この二つを組み合わせてまとめたのが
http://source.android.com/using-eclipse
のような感じですね。USBとLANは排他とのことですので一度教えていただいた
方法を試してみようと思います。
五十嵐様との違いもこのあたりかもしれません。
ただ実際はEclipseでフレームワークのデバッグは普通やらない、という
ことなんでしょうね。androidフレームワークのデバッグの一般的な
やり方、というのがわからなかったもので・・・
ありがとうございました。
On 4月8日, 午前10:50, mizmit1222 <mizmit1...@gmail.com> wrote:
> みずのです。
>
> 気を取り直して検索してみました。
>
> Remote Java Debugginghttp://groups.google.com/group/android-platform/browse_thread/thread/...
>
> classpathhttp://groups.google.com/group/android-platform/browse_thread/thread/...
USBでデバッグはできるのですが、LAN経由で普通にやってadbがつながらないのが気持ち悪くて
引き続き調べています。
On 4月8日, 午後12:33, nekomeshi <nekomeshi...@gmail.com> wrote:
> のような感じですね。USBとLANは排他とのことですので一度教えていただいた
> 方法を試してみようと思います。
/devault.propをみてみましたが、
# cat default.prop
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.secure=0
ro.allow.mock.location=1
ro.debuggable=1
persist.service.adb.enable=1
とありますので、特に問題ないように思います。
また五十嵐様がご指摘くださいました、Applications->Development ->USB debugging
のチェックも再確認しました。
USB OTGのケーブルは抜いた状態でブートし、LANはブート後にシリアルコンソールから
netcfg eth0 dhcp で起動させています。(IPアドレスが変わった場合は、ADBHOSTは設定し直しています)
adbがopen下後にLANがつながるのがまずいのかと、netcfgをやってLANをつないだ後
androidのsetupからUSB debugging のoff/onをしてadb を再度オープンさせても
状況は変わらないようです。
ホストからkill-server/start-serverをやってもadb devicesでemulatorが表示
されないため、ネットワークの設定が何かおかしいんだと思いますが・・・
不思議です・・・
> USBでデバッグはできるのですが、LAN経由で普通にやってadbがつながらないのが気持ち悪くて
> 引き続き調べています。
うちも LAN経由に接続ができていませんでしたが、
service.adb.tcp.port が設定されていませんでした。
$ setprop service.adb.tcp.port 5555
などとすると使えるようになりました。
同じかどうかわかりませんが、ご参考までに。
--
//ueno
uenoさま、アドバイスありがとうございます。
結論としてはうまくいきました。
$ setprop service.adb.tcp.port 5555
でうまくいかなかったため service.adb.tcp.port でググったところ、
http://letsgoustc.spaces.live.com/
にて、donutでは /dev/android_usb or /dev/android があれば USBでつなぐ、と
ありましたので/devの下をのぞいたところ android-adb とandroid-adb-enableの二つが
ありました。この二つを削除しadbdを再起動したところポート5555が開いて、
adb kill-server/start-server でemulatorが起動しました。
ま、だからといってEclipseからdebugをかけると「Failed to connect to remote VM
com.sun.jdi.connect.spi.ClosedConnectionException」と出るのは変わらないのですが、
すっきりしました。
勉強になりました。ありがとうございました。