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

Flutter Android构建报错:SoundStreamPlugin未实现抽象方法及重写无效

解决Flutter Android构建时sound_stream插件权限回调报错问题

问题原因

你使用的sound_stream:0.3.0版本过于老旧,与当前Flutter版本的Android插件API不兼容。旧插件中onRequestPermissionsResult的方法签名,和Flutter新API里PluginRegistry.RequestPermissionsResultListener要求的签名不匹配,导致出现"未实现抽象方法"和"重写无效"的编译错误。

解决方案

方案1:升级sound_stream插件到兼容版本

在项目的pubspec.yaml文件中,更新sound_stream的依赖版本:

dependencies:
  sound_stream: ^0.4.0 # 替换为最新的兼容版本

执行以下命令完成依赖更新并清理构建缓存:

flutter pub get
flutter clean
flutter run

方案2:手动修改插件代码(无法升级时使用)

找到报错的插件文件路径:/Users/UserName/development/flutter/.pub-cache/hosted/pub.dartlang.org/sound_stream-0.3.0/android/src/main/kotlin/vn/casperpas/sound_stream/SoundStreamPlugin.kt

  1. 修正onRequestPermissionsResult方法的签名,使其符合Flutter API要求:
    override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray): Boolean {
        // 保留原方法内的业务逻辑
        return true
    }
    
  2. 确保类定义正确实现了对应接口:
    class SoundStreamPlugin : MethodCallHandler, PluginRegistry.RequestPermissionsResultListener {
        // 类内原有代码
    }
    

修改完成后保存文件,重新执行构建命令。

方案3:替换为替代插件

如果sound_stream插件长期未维护,可考虑更换功能类似的插件(如audio_stream、flutter_sound),替换依赖后调整对应业务代码即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 10:05:22