7

我正在尝试为 Android 开发一个 BLE 蓝牙 (SMART) 应用程序。

我设法下载了Broadcom BLE SDK,按照网站上的说明通过 Android SDK Manager 安装并下载了项目示例

当我尝试将其中一个示例推送到我的测试手机(HTC One S、HTC One X 都具有蓝牙 BLE 功能)时,我面临以下问题:

INSTALL_FAILED_MISSING_SHARED_LIBRARY

是否有可能包含 AndroidManifest.xml 文件中描述的 Broadcom 库? <uses-library android:name="com.broadcom.bt.le" android:required="true"/>

有人设法测试了 Broadcom 项目示例吗?在哪部手机上?

根据这篇文章,在三星 Galaxy S3 上发现了一个错误,但我没有找到任何有关 HTC 产品的信息。


更新:真是个好消息!!!

上一个 Android 版本 4.3 (Jelly Bean) 现在支持低能耗蓝牙智能配件。

http://www.android.com/about/jelly-bean/

https://developer.bluetooth.org/Pages/Bluetooth-Android-Developers.aspx

不确定每部手机都会有更新(例如最后一款 HTC One M7),但下一款手机肯定会嵌入这个主要版本。

4

8 回答 8

11

问题是,如果您的手机没有安装 .so 文件,这将无济于事。

如果 Broadcom 为设备提供祝福,您的设备(在撰写本文时)将只有 .so 文件。

例如,相当新的三星 Galaxy Nexus 的最新官方版本 (4.0.4) 没有。

对于那些不知道的人,有两个不同的(不兼容的)低能耗蓝牙 API(BtLE,现在显然称为 BT Smart)。一个来自博通,另一个来自摩托罗拉。不出所料,每个都只能在装有该供应商芯片的手机上运行。

这是一个可怕的、可怕的情况,谷歌真的需要采取解决方案,否则 Android 将在一个名为 HEALTHCARE 的小行业变得完全无关紧要!!!!!!

于 2012-07-09T19:49:06.547 回答
6

HTC One X 和 One S 使用的是高通蓝牙芯片,而不是博通。因此,Broadcom SDK 将无法正常工作。有一个与 HTC One X+、Droid DNA 和 HTC One 一起使用的 HTC BLE SDK,您可以在此处注册 HTC BLE SDK:http:
//www.htcdev.com/devcenter/opensense-sdk/partner- api/蓝牙低功耗/

于 2012-07-22T13:54:26.953 回答
3

确认 BroadCom BLE 堆栈适用于HTC 1X+并与标准TI KeyFob Demo配合使用。

似乎我在发一个愚蠢的帖子,但我认为有人可能会受到鼓励继续前进,至少是一个小小的成功的明确声明。

BleFindMeClient确实可以在HTC 1X+上与 TI 发行版中的 TI CC2540-mini Keyfob aka KeyFobDemo一起使用。

我从未编写过 Andoid 应用程序或 TI 密钥卡的代码,因此我花了很长时间才弄清楚所有工具的工作原理以及如何配置它们,但并没有真正的魔力。对我来说,如果没有一些代码调整,其他一些 Android 演示就无法编译出大门,但这可能只是我的经验不足。

http://youtu.be/cqWpjU7gJ2Q

关于getDeviceType () 的另一个问题,这里有一个代码片段,每次在 HTC 1x+ 上都能完美运行。希望这也有帮助。

BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
if ( BleAdapter.getDeviceType(device) == BleAdapter.DEVICE_TYPE_BLE ) {
    ...
}
于 2013-03-28T17:28:38.327 回答
2

有人在这里找到解决方案。

要做的三个步骤是:

  1. 不要包含在清单文件中。

  2. 在项目PropertiesJava Build PathLibrariesAdd external jar中,添加 Broadcom ble jar。

  3. 在项目PropertiesJava Build PathOrder and Export中,检查步骤 2 中包含的 jar。

.getDeviceType()最后,Broadcom 示例项目运行,但由于未在 HTC ( , ...)上实现的未知虚拟方法,几秒钟后崩溃!

于 2012-07-05T06:40:19.657 回答
1

似乎 HTC 手机上也可能缺少某些东西。此错误意味着 BLE 硬件和 API 之间可能存在一层软件缺失(或故障)。至于今天,我只看到 BLE 在摩托罗拉 Razr 上工作,但它似乎仅限于心率配置文件(并且它不使用 Broadcom API)。

于 2012-07-03T15:15:47.323 回答
1

如果有任何人根据这个 SDK 编写应用程序,我想告诉你一行

在 DeviceDiscovery 中,他们调用了一个 getDeviceType 方法,该方法在整个 Android JB 代码库中的任何地方都没有定义,因此它只在那里崩溃。因此,如果正在努力消除崩溃,请记住,如果它在设备发现事件中崩溃,您将无法做到这一点。

于 2013-02-27T12:33:58.687 回答
0

澄清一下,只有从这些当前可用的 HTC 设备开始,您才会发现 BLE 支持:HTC One X+、HTC Droid DNA,当然还有 HTC One 和即将推出的旗舰设备。请注意,从 4.3 开始,您应该迁移到使用标准的官方 Android BLE API,以支持 4.3 之前的设备,您可以使用 HTC BLE API。有关支持这两种 API 的更多信息和示例代码,请参阅https://www.htcdev.com/devcenter/opensense-sdk/bluetooth-smart

于 2012-12-28T08:05:16.290 回答
0

真是个好消息!!!

上一个 Android 版本 4.3 (Jelly Bean) 现在支持低能耗蓝牙智能配件。

http://www.android.com/about/jelly-bean/

https://developer.bluetooth.org/Pages/Bluetooth-Android-Developers.aspx

不确定每部手机都会有更新(例如最后一款 HTC One M7),但下一款手机肯定会嵌入这个主要版本。

于 2013-08-04T07:16:00.333 回答