如何在Android模拟器中使用蓝牙?

时间:2010-02-01 06:38:07

标签: android

我想在android中创建一个基于蓝牙操作的应用程序。我正在使用以下代码

 BluetoothAdapter adapter=BluetoothAdapter.getDefaultAdapter();

适配器返回null值,这意味着android模拟器没有蓝牙功能。我正在使用android 2.1最新版本的android.Anybody知道如何使用android模拟器的蓝牙,请帮帮我。

8 个答案:

答案 0 :(得分:46)

你做不到。模拟器不支持蓝牙,如SDK的文档和其他几个地方所述。

你自己已经发现了这个:“适配器返回空值,这意味着android模拟器没有蓝牙功能”

答案 1 :(得分:16)

您可以将http://www.android-x86.org/中的图像安装到虚拟机(例如VMWare)中,找出它的IP地址,使用

手动连接
adb connect <IP of VM>

然后通过在Debug / Run配置中设置“手动”部署目标,从Eclipse启动项目。至少在我的Macbook上,蓝牙可以在这个虚拟机中运行,并且据报道它可以与其他几个蓝牙芯片组配合使用。

答案 2 :(得分:4)

我目前正在计划一种能够在Linux下模拟蓝牙TCP / IP的工具(将在GPL下自由发布)。

如果没有真正的蓝牙设备,这应该是解决方案(例如,您希望模拟两个模拟的Android-x86或Linux机器之间的连接)。

也许在编译Linux-ARM而不是Linux-x86时,它也会在模拟器中运行。

答案 3 :(得分:2)

在模拟器上运行蓝牙aap是不可能的。因为模拟器上不支持蓝牙。看看这个http://developer.android.com/guide/developing/devices/emulator.html模拟器限制

在此版本中,模拟器的限制包括:

  • 不支持拨打或接听实际的电话。您可以通过模拟器模拟电话呼叫(已放置和已接收) 然而,控制台。
  • 不支持USB连接
  • 不支持相机/视频捕捉(输入)。
  • 不支持设备连接耳机
  • 不支持确定连接状态
  • 不支持确定电池电量和AC充电状态
  • 不支持确定SD卡插入/弹出
  • 不支持蓝牙

答案 4 :(得分:1)

是的,我同意,现在模拟器不支持蓝牙。

要在启用蓝牙支持的情况下编译Android,请将以下行添加到BoardConfig.mk

BOARD_HAVE_BLUETOOTH := true

答案 5 :(得分:1)

Q值。 Bluetooth doesn't work on my device. How should I debug?

一个。第一步 - 阅读日志(adb logcat)!特别要查找有关蓝牙的ERROR或WARNING级别消息。

Andoird使用Bluez,它带有一些非常有用的调试工具。以下是一些示例,按照我用来调试BT的粗略顺序。

hciconfig -a  # print BT chipset address and features. Useful to
# check if you can communicate with your BT chipset.

hcidump -XVt  # print live HCI UART traffic.
hcitool scan  # scan for local devices. Useful to check if RX/TX works.
l2ping ADDRESS  # ping another BT device. Useful to check if RX/TX works.
sdptool records ADDRESS # request the SDP records of another BT device.

您可以从http://www.android-videos.blogspot.com/安装蓝牙插件。安装完成后,您可以将蓝牙与仿真器一起使用。

答案 6 :(得分:1)

您可以,但您需要在VirtualBox或VMWare图像内的Android上运行您的应用。有关更多信息,请参阅此处(教程适用于蓝牙LE,但它与其他蓝牙版本的工作原理相同):Bluetooth Low Energy on Android Emulator

答案 7 :(得分:0)

仿真器不支持sdk文档中提到的蓝牙。你必须在真实设备中检查这个..

你得到错误蓝牙绑定器为空。这意味着模拟器没有蓝牙功能。