我正在尝试为Android开发BLE蓝牙(SMART)应用程序。
我设法下载Broadcom BLE SDK,按照网站上的说明通过Android SDK Manager安装并下载projects examples。
当我尝试将其中一个示例推入我的测试手机(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项目示例?在哪个电话上?
根据此post,在三星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),但下一部手机肯定会嵌入这个主要版本。
答案 0 :(得分:11)
问题是,如果您的手机没有安装.so文件,这对您没有帮助。
如果Broadcom祝福该设备,您的设备将仅(在撰写本文时)具有.so文件。
例如,适用于新款三星Galaxy Nexus的最新官方版本(4.0.4)没有。
对于那些不知道的人,有两种不同的(不兼容的)低能耗蓝牙API(BtLE,现在显然叫做BT Smart)。一个来自Broadcom,另一个来自摩托罗拉。不出所料,每个只能在拥有该供应商芯片的手机上工作。
这是一个糟糕的,可怕的情况,Google真的需要继续推进解决方案,否则Android将在一个名为HEALTHCARE的小行业中变得完全不相干!!!!!
答案 1 :(得分:6)
HTC One X和One S使用Qualcomm蓝牙芯片,而不是Broadcom。因此,Broadcom SDK不会起作用。有一个HTC BLE SDK可以与HTC One X +,Droid DNA和HTC One配合使用,您可以在这里注册HTC BLE SDK:
http://www.htcdev.com/devcenter/opensense-sdk/partner-apis/bluetooth-low-energy/
答案 2 :(得分:3)
确认BroadCom BLE堆栈适用于 HTC 1X + ,并与标准 TI KeyFob演示配合使用。
似乎我正在做一个愚蠢的帖子,但我认为可能会鼓励有人继续坚持至少取得一点成功的明确声明。
BleFindMeClient 与TI发行版中的TI CC2540-mini Keyfob又名 KeyFobDemo 结合使用 HTC 1X + 。
我从未编写过Andoid应用程序或TI密钥卡的代码,因此我花了很长时间才弄清楚所有工具的工作原理以及如何配置它们,但没有真正的魔力。对我来说,其他一些Android演示版在没有一些代码调整的情况下没有编译出来,但这可能只是我缺乏经验。
关于 getDeviceType ()的另一个问题,这里是一个代码片段,每次都可以在HTC 1x +上完美运行。希望这也有帮助。
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
if ( BleAdapter.getDeviceType(device) == BleAdapter.DEVICE_TYPE_BLE ) {
...
}
答案 3 :(得分:2)
有人找到解决方案here。
要做的三个步骤是:
最后,Broadcom示例项目运行,但由于未在HTC上实现未知的虚拟方法(.getDeviceType()
,...),几秒后崩溃!
答案 4 :(得分:1)
似乎HTC手机上也可能缺少某些东西。此错误意味着BLE硬件和API之间可能存在一层软件缺失(或出现故障)。至于今天,我只看到BLE在摩托罗拉Razr上工作,但它似乎仅限于心率配置文件(并且它不使用Broadcom API)。
答案 5 :(得分:1)
如果任何正在根据此SDK编写应用程序的正文,我想告诉一行
在DeviceDiscovery中,他们调用了一个方法getDeviceType,它没有在整个Android JB代码库中的任何地方定义,因此它只在那里崩溃。因此,如果要努力消除崩溃,请记住,如果它在设备发现事件中崩溃,则无法执行此操作。答案 6 :(得分: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。
答案 7 :(得分: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),但下一部手机肯定会嵌入这个主要版本。