2011-10-24 33 views
26

私たちはAndroid 3.1以降と、OTG /ホストポートに接続されたUSBデバイスを読み書きする機能について検討してきました。USBデバイスをAndroidエミュレータに接続しますか?

私は、USB HIDデバイスの検出と読み取り/書き込みを可能にするいくつかのコード例を見つけましたが、現時点では、物理的に3.1+互換のデバイスを配備し、リモートでデバッグする必要はありません。

私のHIDデバイスをエミュレータにPC/Eclipse経由で接続する方法を知っている人はいますか?そのため、デバイスはデバイスがデバイスから検出して読み書きできるようになりますか?

現在接続されているUSBデバイスのリストを表示しようとしましたが、間違いなく推測しているとおり、何も表示されません。

アイデア?

乾杯

答えて

6

AFAIKこれはできません。 Androidエミュレータは実際のデバイスに存在する多くのものをエミュレートしませんが、これは私にattempt to run ADB over Bluetoothを思い出させます。

これはあなたの質問に対する直接の肯定的な答えではありませんが、おそらくあなたが私のやり方で回避策を見つけるのに役立ちます:物理的なx86ネットブック(デュアルブート)に "エミュレータ"をインストールし、 my postsで、WiFiやBluetooth経由で何をしようとしているのかを確認してください。

これが役に立ちます。

+0

もちろん可能です。 – rolls

1

(ウルデバイスのIP)

enter image description here

7

AndroidのエミュレータはQEMUに基づいており、USBを接続し、接続ADB使って日食との接続このimage

でのVirtualBoxまたはVMプレーヤーでAndroidの仮想マシンを作成します。 。エミュレータのバージョンが古くても、ホストからUSBデバイスを渡すサポートがあるようです。 ARMデバイスでは使用できないようですが、エミュレートされたARMマシンにはUSBコントローラがありません。 (私はすでに運なしで、Linuxの3.4に基づいてgoldfish_armv7カーネルのすべてのUSBホストコントローラを有効にしようとしている。デフォルトのエミュレータgoldfish_armv7カーネルでもホストUSBが有効になっていません。)

あなたはARMに限定されず、使用できる場合x86では、http://www.android-x86.org/をチェックアウトすることをお勧めします。その画像は、標準QEMU i386(またはx86_64)マシンで使用できます。また、のLinuxのKVM拡張機能を使用すると、パフォーマンスが向上します。 QEMUを使用した場合、

emulator -avd x86-machine -qemu -usb -usbdevice host:1234:abcd 

または::

はABCD とデバイスID ベンダーIDのでUSBデバイスをパススルーするには、エミュレータのコマンドを実行することができます

qemu-system-i386 -m 1G -cdrom android-x86.iso -usb -usbdevice host:1234:abcd 

/dev/bus/usb/XXX/YYYの読み取り/書き込み権限が必要です。そのためには、次のようなudevルールを作成できます。

SUBSYSTEM!="usb", GOTO="end_skip_usb" 
ATTRS{idVendor}=="1234", ATTRS{idProduct}=="abcd", TAG+="uaccess" 
LABEL="end_skip_usb" 

ここで、USBデバイスを挿入すると、エミュレータはUSBデバイスを認識するようになります。これは、Android x86 4搭載のLinuxインストールでテストされています。3画像。

+0

コマンド 'qemu-system-x86_64 -device help'は、すべての仮想デバイスの名前をリストします。私はそれらを '-usb -readconfig .android/avd/intel-pch-xhci.cfg'のように読み込みます。 –

+1

私は、-usbdeviceホストオプションがLinuxのみであることを明確にするとよいでしょう。ソース: - https://qemu.weilnetz.de/doc/qemu-doc.html - 2.3.3 USBオプション – Tom

+0

@Tom USBホストの機能は[libusb](http://libusb.info/)によって異なります。 Windowsでもサポートされています。過去のQEMUにはLinuxの依存関係がありましたが、これはQEMU 1.5で[このコミット](https://git.qemu.org/?p=qemu.git;a=commit;h=2b2325ff6491224a42e1fec99b1c39fbc521c95c)で変更されました([changelog ](https://wiki.qemu.org/index.php/ChangeLog/1.5#USB))。私はドキュメントが古くなったと思います。 – Lekensteyn

0

イメージを使用してWindows 7ホストの仮想ボックスにアンドロイドゲストをインストールしました。hereからアンドロイド-x86-4.0-r1-eeepc.isoをダウンロードしました(私の会社のコンピュータはBIOSをロックしていました。 4.4より前のバージョン)。その後、USBドライブにプラグインし、VirtualBox ManagerでVM - Settings - USBを開き、右の2番目のアイコンをプラス記号でクリックし、USBドライブを選択します。 VirtualboxはUSBドライブ用のドライバをインストールしました。終了後、アンドロイドVMを起動しました。 OpenManagerを起動し、mnt/USBに行き、USBドライブのファイルがそこにありました!

関連する問題