我有一个使用 Qt 制作的私有(private)自定义框架的应用程序。该应用程序适用于 Android 6 及更低版本,并在 Android 7 N 上崩溃。似乎这个问题很受欢迎,但我仍然不明白崩溃的原因。能否请你帮忙?
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
最佳答案
您的应用使用私有(private)库不再可访问。请在此处阅读 https://developer.android.com/about/versions/nougat/android-7.0-changes.html#ndk
基本上,Android 不允许使用它的私有(private)库,它们不在 NDK 中。您可能不会直接使用它们,但您的其他库或框架可能会导致崩溃。
关于crash - Android 7 Nougat 应用程序因 fatal error 而崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39840485/