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

Flutter Camera 0.10.1在Android 13启动时崩溃问题求助

解决Flutter camera 0.10.1在Android 13上启动相机崩溃的问题

问题根源

你碰到的空指针异常,是因为camera 0.10.1版本未适配Android 13的EncoderProfiles API,获取视频配置信息时返回了null,进而调用getWidth()方法触发崩溃。

可行解决方案

  • 升级camera包到兼容版本
    camera 0.10.1属于旧版本,对Android 13适配不完善。建议直接升级到0.13.x及以上的稳定版,这类版本已经修复了Android 13相关适配问题。修改pubspec.yaml中的依赖配置:
dependencies:
  camera: ^0.13.4

执行flutter pub get完成依赖更新。

  • 补充必要权限配置
    除了你已添加的READ_MEDIA_IMAGES和READ_MEDIA_VIDEO,Android 13使用相机还需要明确声明CAMERA权限。在AndroidManifest.xml中添加:
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />

如果涉及视频录制场景,还需要补充录音权限:

<uses-permission android:name="android.permission.RECORD_AUDIO" />
  • 手动指定相机分辨率预设
    如果暂时无法升级包版本,可以在初始化CameraController时手动指定分辨率预设,绕过自动获取编码器配置时的null异常:
final cameras = await availableCameras();
final selectedCamera = cameras.first;
final controller = CameraController(
  selectedCamera,
  ResolutionPreset.medium, // 指定一个确定的分辨率预设
);
await controller.initialize();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 03:55:22