一、提示dlopen failed: library "libc++_shared.so" 然后app闪退,但系统下明明存在是/system/lib64/libc++_shared.so,chapgpt给的介绍是“可能是Android 上遇到 java.lang.UnsatisfiedLinkError 并提示 dlopen failed: library "libc++_shared.so" 的错误通常意味着应用程序在运行时无法找到或者无法加载 libc++_shared.so 库。即使系统下 /system/lib64/libc++_shared.so 存在,你的应用程序可能也没有权限加载系统目录下的这个库,或者这个库版本与你的应用需要的版本不兼容。”

AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: library "libc++_shared.so" not found: needed by /data/app/~~1gp299X7jmJwx3RgrGJ4TQ==/com.hypernano.opencv-vHxGK9mYwZkHdNFg826Mhg==/base.apk!/lib/arm64-v8a/libopencv_calib3d.so in namespace classloader-namespace
01-06 10:28:06.798  3947  3947 E AndroidRuntime:        at java.lang.Runtime.loadLibrary0(Runtime.java:1087)

二、解决方法,android studio编译app的是包含jni里面的libc++_shared.so,android studio 打包ndk里面的libc++_shared.so到APK 的 lib/目录下的方法

externalNativeBuild {
            cmake {
                cppFlags ""
                arguments "-DANDROID_STL=c++_shared"
            }
        }

Logo

一站式 AI 云服务平台

更多推荐