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

video_player 2.2.19发布构建报错:调试正常但出现通道连接异常

问题描述

使用video_player 2.2.19包时,调试构建可正常运行,但发布构建时抛出以下错误:

PlatformException(channel-error, Unable to establish connection on channel., null, null)

堆栈跟踪信息:

I/flutter (13504): ------------StackTrace-------------
I/flutter (13504): #0      VideoPlayerApi.create (package:video_player_android/src/messages.dart:181)
I/flutter (13504): #1      AndroidVideoPlayer.create (package:video_player_android/src/android_video_player.dart:56)
I/flutter (13504): #2      VideoPlayerController.initialize (package:video_player/video_player.dart:352)

已尝试的解决方法:

  • Flutter版本升级
  • 执行flutter pub --outdated命令检查依赖
可能的解决方法

1. 添加ProGuard/R8混淆规则

发布构建时R8混淆可能会误删video_player的通道通信代码,在android/app/proguard-rules.pro中添加以下规则:

-keep class io.flutter.plugins.videoplayer.** { *; }
-keep class com.google.android.exoplayer2.** { *; }

添加后重新执行发布构建。

2. 检查AndroidManifest配置

  • 若播放网络视频,确认android/app/src/main/AndroidManifest.xml中添加了网络权限:
<uses-permission android:name="android.permission.INTERNET"/>
  • 开启硬件加速(部分设备依赖此配置):
<application
    ...
    android:hardwareAccelerated="true">

3. 清理缓存后重新构建

执行以下命令清理构建缓存,再重新生成发布包:

flutter clean
flutter pub get
flutter build apk --release

4. 调整video_player版本

当前2.2.19版本可能存在发布构建兼容性问题,可尝试:

  • 升级到最新稳定版
  • 降级到已知稳定的版本(如2.2.15)
    修改pubspec.yaml中的版本号后执行flutter pub get。

5. 对齐Flutter与Android SDK版本

确保android/build.gradle中的compileSdkVersion、targetSdkVersion与当前Flutter版本支持的Android SDK版本匹配,避免因版本不兼容导致通道连接失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 11:50:46