Open iamsiby opened 1 year ago
From a bit of searching it looks like __sfp_handle_exceptions is part of libstdc++ (from GCC), while modern Android NDKs ship with libc++ (Clang).
is there any quick fix for this issue?
From a bit of searching it looks like __sfp_handle_exceptions is part of libstdc++ (from GCC), while modern Android NDKs ship with libc++ (Clang).
重启编译so库 使用同样的ndk版本 ndk21
1.先看引用的vlc-all的版本
2.查看vlc的源码中的docker镜像的版本
3.如image: registry.videolan.org/vlc-debian-android:20210915065913
下载这个镜像:docker pull registry.videolan.org/v2/vlc-debian-android:20210915065913
4.查看images的layer中的这句ANDROID_NDK_VERSION=21 && ANDROID_NDK_SHA256=b65ea2d5c5b68fb603626adcbcea6e4d12c68eb8a73e373bbb9d23c252fc647b && wget -q https://dl.google.com/android/repository/android-ndk-r$ANDROID_NDK_VERSION-linux-x86_64.zip && echo $ANDROID_NDK_SHA256 android-ndk-r$ANDROID_NDK_VERSION-linux-x86_64.zip | sha256sum -c
就知道该vlc版本的引用的ndk的版本号 3.4.3的用的就是21 目测后面用的都是21
5.我是和ffmpeg-kit有冲突,用ndk21重新编译了ffmpeg-kit
6.重新运行flutter项目 成功运行
如何查看和哪个库有冲突?
E/VLC/LibVLC(17312): Can't load vlcjni library: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__sfp_handle_exceptions" referenced by "/data/app/~~IV_hnLkzufLguU4L1cJkVg==/com.hpdragon1618.flutter_player_example-0EqQK5u9L-R83s5Pge12jA==/base.apk!/lib/arm64-v8a/libvlc.so"... I/_player_exampl(17312): System.exit called, status: 1 I/AndroidRuntime(17312): VM exiting with result code 1, cleanup skipped.