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

OpenCV+Unity打包Android运行报属性访问被拒崩溃解决方法

问题现象
  • Unity编辑器环境下OpenCV+Unity项目运行正常,打包为Android安装包启动时直接崩溃
  • 崩溃前抛出明确错误日志:Access denied finding property "persist.vendor.camera.privapp.list"
  • 使用该OpenCV+Unity资源自带的官方Demo测试,触发完全相同的报错崩溃
  • 资源官方明确标注支持Android平台构建,测试项目仅引入OpenCV+Unity相关资源,依赖库包含OpenCvSharp、Unity、UnityEngine,无其他第三方插件
  • 复现设备为搭载MIUI 12系统的小米系列设备
问题根因

该问题是MIUI 12系统的私有属性权限管控机制导致:persist.vendor.camera.privapp.list是小米厂商自定义的系统级相机私有属性,仅系统预置的特权白名单应用有权限读取。OpenCV初始化相机模块时默认会尝试读取该属性,旧版本OpenCV for Unity未对该类权限拒绝场景做异常捕获,触发权限错误后直接中断进程造成崩溃。
Unity编辑器运行在Windows/macOS桌面环境,不存在安卓系统的厂商私有属性逻辑,因此不会触发该问题。

解决方案

按优先级从高到低尝试以下操作,不需要修改OpenCV原生so库:

  • 关闭OpenCV启动自动初始化相机逻辑
    找到路径Assets/OpenCVForUnity/Resources/下的OpenCVForUnitySettings.asset配置文件,取消勾选Init Camera On Startup选项,避免应用冷启动时直接触发相机模块的系统属性读取逻辑。
  • 调整Android清单配置
    打开项目自定义的AndroidManifest.xml文件,确认仅声明普通相机权限<uses-permission android:name="android.permission.CAMERA" />,不要添加android:sharedUserId="android.uid.system"这类需要系统签名的特权配置;同时在<application>标签下添加属性:
    <application
        android:requestLegacyExternalStorage="true"
        <!-- 其他原有application属性保持不变 -->
    >
    
  • 调整目标SDK版本
    打开Unity Player Settings的Android平台配置页,将Target API Level设置为29(对应Android 10),MIUI 12对目标API30及以上的应用私有属性读取管控强度更高,降级到API29可绕过大部分非必要的厂商属性拦截。
  • 增加异常捕获兜底
    如果项目需要使用相机功能,不要在应用启动阶段直接调用OpenCV相机初始化接口,将初始化逻辑放到用户主动触发相机功能的时机执行,同时包裹异常捕获逻辑,避免权限拒绝直接导致进程崩溃:
    try
    {
        // 对应OpenCV相机组件初始化逻辑
        webCamTextureToMatHelper.Init();
    }
    catch (System.Exception e)
    {
        Debug.LogWarning("OpenCV相机初始化异常:" + e.Message);
        // 弹出提示引导用户手动授予相机权限
        ShowCameraPermissionGuide();
    }
    
  • 无相机需求直接移除权限
    如果项目完全不需要调用相机功能,直接在Player Settings的Android权限配置中移除CAMERA权限,打包后OpenCV不会初始化相机模块,该问题会直接消失。

注意:该权限拒绝日志是MIUI系统的通用打印日志,原生AOSP安卓系统不会触发该限制,不要随意替换不同版本的OpenCV原生so文件,避免引发其他兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 00:39:45