これが私がやりたいことです。アクティビティによって生成されているサードパーティのネイティブ実行可能ファイルがあります。アクティビティとネイティブ実行可能ファイルはTCPを介して通信します。重要なのは、サードパーティアプリケーションがlibusbを使用しているため、rootが必要なことです。そのため、元のlibusbと同じインターフェイスを持ち、代わりにAndroid USBHostAPIを使用するラッパーlibusb-javaを実際に作成できる可能性があると思いました。したがって、実行している実行可能ファイルを変更せずにlibusb-javaにリンクするだけで、Android USBHostAPIを使用できます。問題は、 libusb-javaを書きたい場合です。、ライブラリ内からJVMにアクセスできる必要があります(サードパーティの実行可能ファイルの起動時に動的にロードされます)が、これはJava側でリンクされないため、アクセスする方法がありません。アクティビティにリンクされていないネイティブ実行可能ファイル(おそらくリフレクション)からJavaコードを呼び出す簡単な方法はありますか?何か案は?
例:ネイティブバイナリが* libusb_open()*を呼び出す場合、実際にはlibusb-javaから* libusb_open()*が呼び出され、元の直接ネイティブ実装ではなく、android.hardware.usb.UsbManagerのopenDevice()が呼び出されます。 。(私は単純化しすぎていますが、基本的な考え方です)