You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xamarin.Forms项目LibVLCSharp初始化报libc++_shared.so加载错误如何解决?

问题根因

这个报错是Android平台特有问题,Android 7.0及以上版本限制了应用对系统目录下原生so库的访问权限,同时你的项目没有将LibVLCSharp依赖的libc++_shared.so打包进APK,导致运行时加载库失败。

可行解决方案

  • 方案1:添加项目配置强制打包libc++_shared.so
    打开你的Android项目(Xamarin.Android/.NET MAUI Android)的.csproj文件,在第一个<PropertyGroup>节点下添加如下配置:

    <PropertyGroup>
      <!-- 强制打包libc++_shared.so -->
      <AndroidIncludeCxxShared>True</AndroidIncludeCxxShared>
      <!-- 确保覆盖你需要适配的CPU架构 -->
      <AndroidSupportedAbis>arm64-v8a;armeabi-v7a</AndroidSupportedAbis>
      <AndroidUseLlvm>True</AndroidUseLlvm>
    </PropertyGroup>
    

    配置完成后全量清理项目、重新生成即可。

  • 方案2:确保NuGet包版本匹配
    检查项目安装的NuGet包,必须同时安装版本完全一致的LibVLCSharp和LibVLCSharp.Android,不要出现跨版本混用的情况,否则会出现原生库依赖不匹配的问题。

  • 方案3:手动导入libc++_shared.so
    如果上述方案无效,可以手动从你项目使用的NDK安装路径下,找到对应架构的libc++_shared.so文件:
    路径示例:ndk/<你的NDK版本>/sources/cxx-stl/llvm-libc++/libs/<对应架构>/libc++_shared.so
    将文件复制到你的Android项目的Resources/lib/<对应架构>/目录下,右键文件设置「生成操作」为AndroidNativeLibrary,重新生成项目即可。

验证方法

重新打包生成APK后,解压APK查看lib/目录下对应架构的文件夹,确认存在libc++_shared.so文件即说明配置生效。


内容的提问来源于stack exchange,提问作者Bill Qu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 15:15:04