2013-04-30 6 views
8

Android搭載のスマートフォンからOTG経由でUSBデバイスと通信しようとしています。 Android USB Host APIを使用してデバイスと通信できました。 USBホストAPIソリューションの問題は、パフォーマンス(16384バイトで境界を定められた単一のバルク転送)です。Androidでlibusbを使用しています

libusbは大きな要求を実行することができ、現在はAndroid NDKを使用して統合しようとしています。私はAndroidのlibusbソースをコンパイルすることに成功しました。initUSB()でも、libusb_open(dev, &dev_handle)は-3(アクセス拒否)を返します。

は、どのように私はAndroidのUSBホストAPIの下USB_PERMISSIONを取得した後のlibusbとのlibusb下のUSBデバイスへのアクセスを取得するためにファイルディスクリプタ

int fd = connection.getFileDescriptor() 

を渡すことができますか?

+0

try this libusb fork https://github.com/martinmarinov/rtl_tcp_andro-/tree/master/jni/libusb-andro。この – 4ntoine

+0

投票のためのopen2(、int fd)関数があり、アンドロイドチームから良い説明を得ることができます:https://code.google.com/p/android/issues/detail?id=56450 – 4ntoine

答えて

5

これはあなたが探しているものです。


完全な使い方については、「How To To Android」セクションを参照してください。

私はlibusbのすべての必要な修正を行いました(そしてまた、それを使用しています)。
"Android 5.0" +のSELinux修正があります。

+1

これは有望だと思います。あなたのgithubプロジェクトを見ましたが、私はまだそれを使用する方法がわかりません。 Javaコードからlibusbを呼び出すためにjniを使用していますか? – dweebo

+0

@dweeboはい、Java - > JNI - > libusb –

+0

ありがとう!あなたもそのコードを共有することができますか? – dweebo

関連する問題