2012-12-26 52 views
1

我正在創建一個Android應用程序,需要訪問Broadcomm單芯片(集成Wifi +藍牙+ FM)芯片URL的設備驅動程序:http://www.broadcom.com/products/Wireless-LAN/802.11-Wireless-LAN-Solutions/BCM4334如何通過Android操作系統中的Java訪問設備驅動程序?

Broadcomm據說允許訪問Android操作系統上的設備驅動程序,並將其實現打開。

該應用程序的功能是無關緊要的。

1)通過Android中的Java訪問設備驅動程序的最佳方式是什麼?

2)是否使用JNI訪問設備驅動程序是一個好方法?

3)使用NDK必要或者是SDK足夠了,因爲我只是訪問設備驅動程序&沒有實際編寫本地代碼?

4)當我走下這條道路時,還有其他重要的建議嗎?

也請不用客氣只有當你已經開發了類似的應用程序或一個專家,我不想與50點不同的意見,這將讓我困惑落得迴應。

非常感謝。

回答

0

BCM4334是一款Wi-fi/BT組合芯片,它不包含3G調制解調器。

我不確定你的意思是「訪問設備驅動程序」,Wi-Fi通過android.net.wifi,bluetooth暴露 - 通過android.bluetooth,這真的是使用Wi- Fi和BT上 - 通過公共API。再一次,我不清楚你想用驅動程序做什麼,但很可能你的應用程序沒有權限做任何有用的事情。

不同的驅動程序有不同的接口,例如Wi-Fi驅動程序通過基於IOCTL的WE API(需要本機代碼)來控制,但也有一組命令行工具(無線工具)可以使用來自純Java,所以有多種選擇取決於你想要達到的目標。

但我想重申,Android爲Wi-Fi和BT提供公共API,我的建議是使用Android API,而不是低級別的驅動程序接口。

+0

是的Broadcomm芯片沒有3G。 但是,正如我所提到的,應用程序的功能與問題無關,因此您不能建議我使用Android Bluetooth或Wifi API,如果我想要的話,我會! 我問了三個明確和明確的問題: 1)什麼是最好的方式,詳細訪問設備驅動程序通過Java中的Android? 2)是否使用JNI訪問設備驅動程序是一種好方法? 3)是否使用NDK或SDK是否足夠,因爲我只是訪問設備驅動程序而不是實際編寫本機代碼? – cyber101

+0

請再次嘗試閱讀我的答案 - 「不同的驅動程序有不同的接口,例如Wi-Fi驅動程序通過基於IOCTL的WE API(需要本機代碼)進行控制」。藍牙驅動程序也通過基於IOCTL的HCI API進行控制。沒有直接的方式從Java發送IOCTL,所以需要本地代碼和JNI。 – msh

+0

好的給出你的答案,什麼是與驅動程序「溝通」的最佳方法,例如Br​​oadcomm上的FM驅動程序,但沒有Android/Java軟件包。我基本上需要編寫一個Java/JNI封裝來訪問broadcomm芯片上的FM驅動程序? 1)什麼是步驟(我如何在Android文件系統中看到驅動程序?)2)我需要什麼特定的工具,ndk?3)你能否詳細介紹如何調查和開始這個過程?謝謝 – cyber101

相關問題