所以這裏是我想要做的。我有一個第三方本機可執行文件正在我的Activity中產生。活動和本地可執行文件通過TCP進行通信。 事情是 - 第三方應用程序使用libusb,因此需要root。所以我認爲有可能實際編寫一個封裝器libusb-java,它具有與原始的libusb相同的接口,但是改爲使用Android USB Host API。因此,我可以將正在運行的可執行文件與我的libusb-java鏈接起來,而不更改它,它將使用Android USB Host API。問題是,如果我想編寫libusb-java,我需要能夠從庫內部訪問JVM(這將在第三方可執行文件啓動時動態加載),但由於這不會是鏈接在Java端,我無法訪問它。有沒有簡單的方法來調用一個本地可執行文件中的一些未鏈接到Activity的Java代碼(可能是反射?)。有任何想法嗎?從Android中的外部本機可執行文件調用java代碼
例如: 如果我的本機二進制電話* libusb_open()*,它實際上調用* libusb_open()*從的libusb-java的這反過來應該調用openDevice(android.hardware的)。 usb.UsbManager而不是原始的直接本地實現。 (我簡單的說法,但不是基本的想法)
我很害怕這個。鏈接將不會做這項工作,因爲會有許可問題:)但無論如何,我會考慮。謝謝。 –
活頁夾IPC暴露於C代碼IIRC。 –