title: Android 7 Nougat app crashes with fatal error
body: <p>I have an app which uses private custom framework made by Qt. The app works on Android 6 and lower and crash on Android 7 N. Seems the issue is quite popular but I still don't understand the cause of the crash. Could you please help?</p>
  
  <pre><code>D/LVLDownloader: All expansion files are already here
  W/art: Suspending all threads took: 21.007ms
  W/linker: library "libui.so" ("/system/lib/libui.so") needed or dlopened by "/data/app/com.nn.apps.qt/lib/arm/libgbuffer.so" is not accessible for the namespace "classloader-namespace" - the access is temporarily granted as a workaround for http://b/26394120, note that the access will be removed in future releases of Android.
  W/linker: /data/app/com.nn.apps.qt/lib/arm/libQt5Concurrent.so: unused DT entry: type 0xf arg 0xbea
  W/linker: /data/app/com.nn.apps.qt/lib/arm/libQt5AndroidExtras.so: unused DT entry: type 0xf arg 0x5012
  W/linker: /data/app/com.nn.apps.qt/lib/arm/libQt5Bluetooth.so: unused DT entry: type 0xf arg 0x5257
  W/linker: /data/app/com.nn.apps.qt/lib/arm/libQt5Gui.so: unused DT entry: type 0xf arg 0x4aa94
  W/linker: /data/app/com.nn.apps.qt/lib/arm/libQt5Network.so: unused DT entry: type 0xf arg 0x10ca1
  W/linker: /data/app/com.nn.apps.qt/lib/arm/libQt5OpenGL.so: unused DT entry: type 0xf arg 0xbc0b
  W/linker: /data/app/com.nn.apps.qt/lib/arm/libQt5Widgets.so: unused DT entry: type 0xf arg 0x69290
  W/linker: /data/app/com.nn.apps.qt/lib/arm/libavcodec.so: is missing DT_SONAME will use basename as a replacement: "libavcodec.so"
  W/linker: /data/app/com.nn.apps.qt/lib/arm/libavfilter.so: is missing DT_SONAME will use basename as a replacement: "libavfilter.so"
  W/linker: /data/app/com.nn.apps.qt/lib/arm/libavformat.so: is missing DT_SONAME will use basename as a replacement: "libavformat.so"
  W/linker: /data/app/com.nn.apps.qt/lib/arm/libavutil.so: is missing DT_SONAME will use basename as a replacement: "libavutil.so"
  W/linker: /data/app/com.nn.apps.qt/lib/arm/libswresample.so: is missing DT_SONAME will use basename as a replacement: "libswresample.so"
  W/linker: /data/app/com.nn.apps.qt/lib/arm/libswscale.so: is missing DT_SONAME will use basename as a replacement: "libswscale.so"
  W/linker: /data/app/com.nn.apps.qt/lib/arm/libQt5AndroidExtras.so: unused DT entry: type 0xf arg 0x5012
  W/linker: /data/app/com.nn.apps.qt/lib/arm/libQt5Concurrent.so: unused DT entry: type 0xf arg 0xbea
  W/linker: /data/app/com.nn.apps.qt/lib/arm/libQt5Widgets.so: unused DT entry: type 0xf arg 0x69290
  W/linker: /data/app/com.nn.apps.qt/lib/arm/libQt5Gui.so: unused DT entry: type 0xf arg 0x4aa94
  W/linker: /data/app/com.nn.apps.qt/lib/arm/libQt5Gui.so: unused DT entry: type 0xf arg 0x4aa94
  D/SPP_ANDROID: ENTERING JNI_OnLoad_libovsdk
  D/SPP_ANDROID: ENTERING init_jni_context
  D/SPP_ANDROID: ENTERING get_environment
  D/SPP_ANDROID: Get context
  D/SPP_ANDROID: Environment is OK
  D/SPP_ANDROID: EXITING get_environment
  D/SPP_ANDROID: Get class
  D/SPP_ANDROID: EXITING JNI_OnLoad_libovsdk
             W/BaseLogger: ======= Logs are being cached, please initialize the logger (LoggerSingleton::instance().init()) =======
             D/NNListenerSingleton:  : In prepareFirmwareFileAndGetPath - /storage/emulated/0/Android/data/com.nn.apps.qt/logs
             A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 1334 (apps.qt)
  
             [ 10-04 00:55:12.628   184:  184 W/         ]
             debuggerd: handling request: pid=1334 uid=10257 gid=10257 tid=1334
  </code></pre>