Flutter升级后Android端出现PlatformException(channel-error)问题求助
解决线索
- 检查Android Gradle插件(AGP)与Flutter版本兼容性:Flutter 3.19.6要求AGP版本至少为7.4.2,查看
android/build.gradle中com.android.tools.build:gradle的版本,低于此则升级,同时确保Gradle wrapper版本匹配(AGP 7.4.2对应Gradle 7.5)。 - 锁定依赖包稳定版本:尝试将shared_preferences、path_provider指定为适配Flutter 3.19.6的稳定版本,比如
shared_preferences: ^2.2.2、path_provider: ^2.1.1,避免使用预发布版本。 - 排查Android配置问题:确认
AndroidManifest.xml中是否添加必要权限(如android.permission.INTERNET);若开启代码混淆,需添加这两个插件对应的混淆规则,防止通道代码被移除。 - 重置Android环境缓存:执行
flutter doctor --android-licenses确认所有许可证已接受;删除android/.gradle目录后重新执行flutter run,强制重建Gradle缓存。 - 调整初始化顺序:尝试将
MediaKit.ensureInitialized()移至runApp之后,或通过Future.delayed延迟执行,避免其原生初始化抢占通道资源导致其他插件连接失败。 - 测试纯净项目验证:创建新Flutter项目,仅引入shared_preferences和path_provider并调用初始化逻辑,若正常运行则说明原项目存在自定义原生代码或其他插件冲突。
内容的提问来源于stack exchange,提问作者hzbhhh
相关产品推荐
相关产品推荐

