1

我正在创建一个需要访问 Broadcomm 单芯片(集成 Wifi+蓝牙+FM)芯片 URL 的设备驱动程序的 Android 应用程序:http ://www.broadcom.com/products/Wireless-LAN/802.11-Wireless-LAN-解决方案/BCM4334

Broadcomm 应该允许访问 Android 操作系统上的设备驱动程序,并开放其实现。

应用程序的功能无关紧要。

1)在Android中通过Java访问设备驱动程序的最佳方法是什么?

2) 使用 JNI 访问设备驱动程序是一种好方法吗?

3) 是否需要使用 NDK 或 SDK 是否足够,因为我只是在访问设备驱动程序而不是实际编写本机代码?

4)当我走这条路时,还有什么其他重要的建议吗?

另外,请仅在您开发过类似的应用程序或专家时才做出回应,我不想最终得到 50 种不同的意见,这会让我感到困惑。

太感谢了。

4

1 回答 1

3

BCM4334 是 Wi-fi/BT 组合芯片,不包含 3G 调制解调器。

我不确定您所说的“访问设备驱动程序”是什么意思,Wi-fi 通过 android.net.wifi,蓝牙 - 通过 android.bluetooth 暴露,这确实是使用 Wi-fi 和 BT 的最佳方式Android - 通过公共 API。同样,我不清楚你想用驱动程序做什么,但很可能你的应用程序没有权限做任何有用的事情。

不同的驱动程序有不同的接口,例如 Wi-fi 驱动程序是通过基于 IOCTL 的 WE API 控制的(这将需要本机代码),但也有一组命令行工具(无线工具)可以从纯 Java 中使用,因此,根据您想要实现的目标,有多种选择。

但我想重申,Android 为 Wi-fi 和 BT 提供公共 API,我的建议是使用 Android API,而不是低级驱动程序接口。

于 2012-12-26T08:24:01.153 回答