[Q] App says Bluetooth LE not supported, can editing build.prop fix it?

Search This thread

DRH48

New member
May 30, 2014
4
0
I recently installed Bactrack Mobile by side loading the .apk file. I have a rooted Photon Q 4G running cm-10.2.1-xt897. The app requires Android 4.3 and Bluetooth 4.0 LE, both of which my phone have, but I had to side load because the google play store still thinks my device is incompatible. Apparently so does the app, because when I open the app it says "Low Energy Bluetooth not available. Low Energy Bluetooth is not supported by this device. Android version 4.3 or greater is required for this application. Please upgrade or change devices." I can hit OK and then hit the Connect button in the app to try to pair the device and the same error pops up again but the screen changes to "Connecting..." which goes on indefinitely. When I turn on my Bluetooth, I see "SmartBreathalyzer" listed as an available device but I can't pair it (Note: I believe this device has trouble pairing under the Bluetooth menu and requires the app to pair even on proven compatible devices). Anyway, I'm wondering how I can get this app to work since I'm fairly confident I have the necessary hardware. I am working under the following assumptions, any of which may be wrong:

1) The Motorola Photon Q 4G has Bluetooth 4.0 LE
2) Whatever the Google Play Store checked to determine that my phone was incompatible is the same thing that the app is checking when I open it
3) Said compatibility check is in build.prop

So far here's what I've tried:

1) Using Market Helper
2) Editing ro.product.model, ro.product.brand, and ro.product.manufacturer to imitate a Galaxy S3, a known compatible device (if it's running 4.3+)
3) Editing ro.product.model, ro.product.brand, and ro.product.manufacturer to imitate a Galaxy S4, another known compatible device if running 4.3+

All of these were attempts to trick Google Play just so I could install the app before I got a copy of the .apk file to side load, none worked. The latter 2 broke my keyboard, making it incredibly difficult to undo the changes (I had to copy and paste letters to type, all the while racing against pop up error messages which would interrupt my ability to copy). I am hesitant to try them again to get the now installed app to work, since I am operating under assumption 2.

Below is the text of my build.prop file. I've noticed that in other devices' build.prop file, there seems to be a lot more settings regarding Bluetooth, but nothing stands out as saying "version 4.0" or "Low Energy supported". It could also be that the app just doesn't recognize my phone as running Android 4.3 but it's giving me an ambiguous error about Bluetooth anyway. So my main questions are:

1) Is there any way to open the .apk file to see how it's running its compatibility check? (I'm assuming this is unlikely)
2) If not, what can I do to edit my build.prop file that would have the best chance of fixing the problem? Are there properties I can add, or would I need to change certain properties that are already there? Does my current build.prop file need help saying "I am Bluetooth LE compatible" or "No seriously, I really AM running Android 4.3. Really." or both?
3) What potential side effects would these edits have? I don't want to break anything that would prevent me from restoring my original build.prop file (Note: when I rooted my phone, I could never get any adb/fastboot commands to work from a command prompt on my PC. I had to do all that stuff with the hardware buttons on the phone, so if I DO break my keyboard or something like that, my only hope is to fix it from the phone itself).
4) Is there a chance assumption #3 is incorrect? If so where else would the app be running a compatibility check?

Thanks in advance for any help.

My current build.prop file:

# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=JLS36I
ro.build.display.id=cm_xt897-userdebug 4.3.1 JLS36I 4d3a90376d test-keys
ro.build.version.incremental=4d3a90376d
ro.build.version.sdk=18
ro.build.version.codename=REL
ro.build.version.release=4.3.1
ro.build.date=Sat Feb 1 01:15:55 PST 2014
ro.build.date.utc=1391246155
ro.build.type=userdebug
ro.build.user=jenkins
ro.build.host=cyanogenmod
ro.build.tags=test-keys
ro.product.model=XT897
ro.product.brand=motorola
ro.product.name=xt897
ro.product.device=xt897
ro.product.board=MSM8960
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=motorola
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
ro.board.platform=msm8960
# ro.build.product is obsolete; use ro.product.device
ro.build.product=xt897
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=cm_xt897-userdebug 4.3.1 JLS36I 4d3a90376d test-keys
ro.build.fingerprint=motorola/XT897_us_spr/asanti_c:4.1.2/9.8.2Q-122_XT897_FFW-5/6:user/release-keys
ro.build.characteristics=default
ro.cm.device=xt897
# end build properties
rild.libargs=-d /dev/smd0
persist.rild.nitz_plmn=
persist.rild.nitz_long_ons_0=
persist.rild.nitz_long_ons_1=
persist.rild.nitz_long_ons_2=
persist.rild.nitz_long_ons_3=
persist.rild.nitz_short_ons_0=
persist.rild.nitz_short_ons_1=
persist.rild.nitz_short_ons_2=
persist.rild.nitz_short_ons_3=

#
# ADDITIONAL_BUILD_PROPERTIES
#
ro.rommanager.developerid=cyanogenmod
ro.com.google.clientidbase=android-google
keyguard.no_require_sim=true
ro.url.legal=http://www.google.com/intl/%s/mobile/android/basic/phone-legal.html
ro.url.legal.android_privacy=http://www.google.com/intl/%s/mobile/android/basic/privacy.html
ro.com.android.wifi-watchlist=GoogleGuest
ro.setupwizard.enterprise_mode=1
ro.com.android.dateformat=MM-dd-yyyy
ro.com.android.dataroaming=false
ro.build.selinux=1
persist.sys.root_access=1
ro.cm.version=10.2.1-xt897
ro.modversion=10.2.1-xt897
ro.cmlegal.url=http://www.cyanogenmod.org/docs/privacy
ro.config.ringtone=Orion.ogg
ro.config.notification_sound=Argon.ogg
ro.config.alarm_alert=Hassium.ogg
ro.carrier=unknown
dalvik.vm.heapstartsize=8m
dalvik.vm.heapgrowthlimit=64m
dalvik.vm.heapsize=256m
dalvik.vm.heaptargetutilization=0.75
dalvik.vm.heapminfree=2m
dalvik.vm.heapmaxfree=8m
debug.egl.hw=1
debug.sf.hw=1
persist.sys.ui.hw=true
debug.composition.type=dyn
persist.hwc.mdpcomp.enable=true
debug.mdpcomp.logs=0
debug.enabletr=0
ro.vendor.extension_library=/system/lib/libqc-opt.so
com.qc.hardware=true
persist.audio.fluence.mode=endfire
persist.audio.vr.enable=false
persist.audio.handset.mic=digital
ro.qc.sdk.audio.fluencetype=fluence
ro.qc.sdk.audio.ssr=false
ro.bluetooth.hfp.ver=1.6
ro.qualcomm.bluetooth.sap=true
ro.qualcomm.bt.hci_transport=smd
ro.bluetooth.request.master=true
ro.bluetooth.remote.autoconnect=true
lpa.decode=false
tunnel.decode=true
tunnel.audiovideo.decode=true
qcom.hw.aac.encoder=true
af.resampler.quality=255
persist.audio.lowlatency.rec=false
persist.sys.qc.sub.rstrtlvl=3
persist.sys.qc.sub.rdump.on=1
persist.sys.qc.sub.rdump.max=20
rild.libpath=/system/lib/libril-qc-qmi-1.so
ril.subscription.types=NV,RUIM
ro.use_data_netmgrd=true
ro.ril.transmitpower=true
persist.radio.apm_sim_not_pwdn=1
persist.radio.call_type=1
ro.config.vc_call_vol_steps=7
ro.modem.no_wdog_chk=1
persist.timed.enable=true
ro.usb.mtp=0x2e32
ro.usb.mtp_adb=0x2e33
ro.usb.ptp=0x2e30
ro.usb.ptp_adb=0x2e31
ro.hdmi.enable=true
ro.opengles.version=131072
ro.telephony.ril_class=MotorolaQualcommRIL
persist.fuse_sdcard=true
wifi.interface=wlan0
wifi.supplicant_scan_interval=30
persist.log.aplogd.enable=1
ro.sf.lcd_density=240
telephony.lteOnGsmDevice=1
ro.telephony.ril.v3=signalstrength
ro.telephony.default_network=3
persist.sys.report_gprs_as_edge=1
dalvik.vm.lockprof.threshold=500
dalvik.vm.dexopt-flags=m=y
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt
 

haphazardous

Member
May 9, 2017
11
0
This is an old thread, but in case anyone comes across this while searching for the solution to BLE (bluetooth 4.0 LE) on a Photon Q running CM 10.2 this is what got it working for me. Create a file in the system/etc/permissions directory named android.hardware.bluetooth_le.xml with the following contents:
<permissions>
<feature name="android.hardware.bluetooth_le" />
</permissions>
(hopefully if the post ate the greaterthan and lessthan characters you can figure out how to build a properly formatted xml file).
 

azskit

New member
Dec 5, 2023
1
0
This is an old thread, but in case anyone comes across this while searching for the solution to BLE (bluetooth 4.0 LE) on a Photon Q running CM 10.2 this is what got it working for me. Create a file in the system/etc/permissions directory named android.hardware.bluetooth_le.xml with the following contents:
<permissions>
<feature name="android.hardware.bluetooth_le" />
</permissions>
(hopefully if the post ate the greaterthan and lessthan characters you can figure out how to build a properly formatted xml file).

Your advice just helped me to enable BLE on my old rusty Huawei U8950-1!.

It's originally has android 4.0.4 installed, after a couple of days I managed to install CM13. BLE still didn't work, also official specs say that this device only has bluetooth 3.0 version, so I was about to give ip. Created the file, rebooted and now it's working just fine!

Very thank you