I am trying to develop a BLE bluetooth (SMART) application for Android.
I managed to download the Broadcom BLE SDK, install through the Android SDK Manager as explained on the web site and download the projects examples.
When I tried to push one of the examples into my tests phones (HTC One S, HTC One X both with Bluetooth BLE feature), I am facing the following issue:
INSTALL_FAILED_MISSING_SHARED_LIBRARY
Is there any possibility to include the broadcom library described in the AndroidManifest.xml file ?
<uses-library android:name="com.broadcom.bt.le" android:required="true"/>
Is someone managed to test the broadcom projects examples? And on which phone?
According to this post, a bug has been discovered on Samsung Galaxy S3, but I didn't find any information about HTC products.
UPDATE : What a great news!!!
Last Android version 4.3 (Jelly Bean) now support low-energy Bluetooth Smart accessories.
http://www.android.com/about/jelly-bean/
https://developer.bluetooth.org/Pages/Bluetooth-Android-Developers.aspx
Not sure that every phones will have an update (even the last HTC One M7 for example) but next phones will certainly embed this major release.
-
Just as suggestion, I used this API and worked well for me developer.motorola.com/docstools/library/…Fran Verona– Fran Verona2012年07月06日 12:37:12 +00:00Commented Jul 6, 2012 at 12:37
-
Thank you for your advice, what kind of development kit do you use? I am using this one : nordicsemi.com/eng/Products/Bluetooth-R-low-energy/nRF8001. Any chance to drive a Nordic BLE chip with a Motorla library?sdespont– sdespont2012年07月06日 12:55:44 +00:00Commented Jul 6, 2012 at 12:55
-
I developed an Android application to my Motorola RAZR Droid that should communicate with an smartcard using Bluetooth LE. I don't know if Motorola's API works with your kit. Sorry if I can't help you too much in this line.Fran Verona– Fran Verona2012年07月06日 12:57:39 +00:00Commented Jul 6, 2012 at 12:57
-
Thanks for your reply. Last question : Do you think that the Motorla library could work on HTC phone?sdespont– sdespont2012年07月06日 13:02:03 +00:00Commented Jul 6, 2012 at 13:02
-
Maybe was optimized for Motorola's phones, but I think that it is independent of the phone.Fran Verona– Fran Verona2012年07月06日 13:04:13 +00:00Commented Jul 6, 2012 at 13:04
8 Answers 8
The problem is that if your phone doesn't have the .so file installed, this isn't going to help.
And your device will only (as of this writing) have the .so file if Broadcom has blessed the device.
For example, the latest official build (4.0.4) for the reasonably-new Samsung Galaxy Nexus does not.
For those that don't know, there are two different (incompatible) APIs for LOW-ENERGY Bluetooth (BtLE, now apparently called BT Smart). One is from Broadcom, and the other is from Motorola. Unsurprisingly, each only works on a phone that has that vendor's chips in it.
This is a terrible, terrible situation, and Google REALLY needs to get moving on a solution or Android will become totally irrelevant in a little industry known as HEALTHCARE!!!!!
5 Comments
The HTC One X and One S use a Qualcomm Bluetooth chip, not Broadcom. Therefore the Broadcom SDK would not be expected to work. There is an HTC BLE SDK that works with the HTC One X+, Droid DNA, and HTC One that you can sign up for the HTC BLE SDK here:
http://www.htcdev.com/devcenter/opensense-sdk/partner-apis/bluetooth-low-energy/
4 Comments
Confirming BroadCom BLE stack works on HTC 1X+ and cooperates with standard TI KeyFob Demo.
Seems like I'm making a dumb post, but I thought someone might be encouraged to keep going by an unequivocal statement of at least a tiny success.
BleFindMeClient really does work on the HTC 1X+ in conjunction with the TI CC2540-mini Keyfob aka KeyFobDemo in the TI distro.
I've never written an Andoid app., or code for the TI keyfob, so it took me a frustratingly long while to figure out how all the tools worked and how to configure them, but there was no real magic. For me, some of the other Android demos don't compile out the gate without some code tweaks, but that could just be my inexperience.
On the other issue regarding getDeviceType(), here is a code fragment that works perfectly every time on the HTC 1x+. Hope this helps too.
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
if ( BleAdapter.getDeviceType(device) == BleAdapter.DEVICE_TYPE_BLE ) {
...
}
1 Comment
Someone find the solution here.
The three steps to do are :
- Do not include in manifest file.
- In project Properties → Java Build Path → Libraries → Add external jar, add broadcom ble jar.
- In project Properties → Java Build Path → Order and Export, check the included jar in step 2.
Finally, the Broadcom samples projects run, but crash after few seconds due to an unknown virtual method not implemented on HTC (.getDeviceType(), ...)!
4 Comments
It seems that something might be missing on the HTC phones as well. This error means that there is probably a layer of software missing (or malfunctioning) between the BLE hardware and the API. As for today I have only seen BLE kind of working on an the Motorola Razr but it seems to be limited to the heart rate profile (and it does not use the Broadcom API).
4 Comments
If any body writing a app depending on this SDK, there is one line I want to tell
in DeviceDiscovery they call a method getDeviceType which is not defined anywhere in the entire Android JB codebase hence it crashes there only. so if are trying hard to remove the crash, just keep in mind you can not do it if it is crashing in device Discovery event.
2 Comments
What a great news!!!
Last Android version 4.3 (Jelly Bean) now support low-energy Bluetooth Smart accessories.
http://www.android.com/about/jelly-bean/
https://developer.bluetooth.org/Pages/Bluetooth-Android-Developers.aspx
Not sure that every phones will have an update (even the last HTC One M7 for example) but next phones will certainly embed this major release.
Comments
Just to clarify, only starting with these currently available HTC devices will you find BLE support: the HTC One X+, the HTC Droid DNA, and of course the HTC One and upcoming flagship devices. Note that as of 4.3, you should migrate to use the standard official Android BLE API, to support devices pre-4.3 you can use the HTC BLE API. See https://www.htcdev.com/devcenter/opensense-sdk/bluetooth-smart for more info and sample code supporting both APIs.
Comments
Explore related questions
See similar questions with these tags.