Important: Please read the Qt Code of Conduct -

QBluetoothDeviceDiscoveryAgent Android with JNI call causes null prt "SIGSEGV, code 1, fault addr 0x0"

  • I’m writing the Android wrapper for the Qt library using JNI and am having an issue with QBluetoothDeviceDiscoveryAgent. If a QBluetoothDeviceDiscoveryAgent instance is declared in Qt class like ; "QBluetoothDeviceDiscoveryAgent *discoveryAgent = new QBluetoothDeviceDiscoveryAgent();" I get a A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid in Android, if I just comment out the QBluetoothDeviceDiscoveryAgent code in the Qt library, everything seems to work correctly, but then I have no Bluetooth LE discovery.

    I have configure permissions in the AndroidManifest for BLUETOOTH, BLUETOOTH_ADMIN, ACCESS_COARSE_LOCATION, INTERNET etc. and I’m testing with a Armeabi-v7a Qt 5.7.1 build on a Samsung S5 phone, have also tried a Qt 5.8 build with the same results.

    Not sure what I am missing as all other Qt libraries used in my library functions correctly through my JNI implementation, but any bluetooth class QBluetoothDeviceDiscoveryAgent, QBluetoothLocalDevice etc. throws SIGSEGV .

  • @Newbi1Kenobi is this issue resolved, I am facing the same exact issue QBluetoothLocalDevice. I think its related to the Java Thread and QT thread, but could not find a solution yet

Log in to reply