Wzero-3をAndroid開発機化して遊ぶ(adb接続編)

Androidバイスはadbインタフェース(物理層はUSB/ネットワーク層はIP)で、PC側からさまざまな制御を行えます。


このadb接続の機能の一例としては、アプリの追加やシェル接続、ログ出力等があります。


今回は、この機能を有効にしてWzero-3を開発機がわりにした際の流れを記事にしてみました。

  • 利用手順

一応注意書き:最悪端末を壊す可能性があるのでわかる方のみ自己責任でお願いします。

  • ネットワーク図

  • 手順

今のところ、LinuxLoaderからの直接起動ではadb接続が利用できません(ネットワークの設定が行えないため)。


そのため、起動方法を変更しネットワーク設定を行った後にAndroidを起動する手順になります。

    • LinuxLoaderの設定変更

LinuxLoader側のConfigファイル"LinuxLoader.parm" のCommandLineを修正する。

CommandLine= fbcon=rotate:3
    • LinuxLoaderを起動後、コマンドからrootでログインしネットワークの設定を行う。

詳細はWS011sh(Linux)をUSB Ethernet/RNDISでネットにつなぐ。 - .h2oのお気楽日記を参考

コマンドライン例:

# mount /dev/mmcblk0p1 /mnt
# cd /mnt
# mkdir rfs
# mount -o loop android.img rfs
# chroot rfs /init

環境変数"ADBHOST"にAndroid端末のIPアドレス(この例では192.168.0.2)を設定してあげてください。

参考:
http://www.atmarkit.co.jp/fwin2k/win2ktips/189setenvv/setenv.html

    • adb起動と確認

コマンドプロンプトを起動し以下のコマンドを実行。

>adb devices
List of devices attached
emulator-5554   device

この表示が出れば通信事態は正常に行われています。

あとは以下のコマンドでシェル接続を行えます。

>adb shell
#
  • 終了方法

adb接続時はシェルからrebootコマンドをたたいてあげたほうが安全だと思います(特にファイル等に書き込みをした場合:多重マウントを行っているので、急な電源OFFはSDカード上のイメージ損傷に繋がりやすいと思います)。

>adb shell
# sync
# reboot

adbが利用可能になると、自分で開発したアプリをWzero-3(Android)に送り込み、動作検証することが出来ます。


自分の作ったアプリが、エミュレータでなく実機で動くのは結構楽いです!