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

Flutter应用升级后修改代码未生效问题求助

Flutter覆盖升级后部分功能未更新的解决方案

核心问题排查

首先注意到你新版本的build number(pubspec.yaml中+后面的数字)和旧版本一致(都是+1),Android系统会通过versionCode(对应该build number)判断应用版本,相同versionCode的APK覆盖安装时,系统可能不会完全替换所有资源和代码文件,这是最可能的触发原因。

具体解决步骤

  • 修正build number:将pubspec.yaml中的版本改为1.0.1+2(确保+后的数字比旧版本的+1大),然后重新执行flutter build apk --release。这是Android识别新版本的关键,必须保证versionCode严格递增。
  • 强制清除构建缓存:构建时添加参数跳过缓存,避免旧代码残留:
    flutter build apk --release --no-build-cache
    
  • 检查本地存储数据:如果新版本逻辑依赖SharedPreferences、SQLite等本地数据,旧版本遗留的数据可能导致逻辑异常。可以在新版本启动时添加数据迁移逻辑,或者首次启动时清除旧缓存(比如调用SharedPreferences.clear())。
  • 排查代码混淆配置:如果开启了R8混淆,检查android/app/proguard-rules.pro是否有误将更新的类或方法混淆,导致代码逻辑未生效。可以暂时关闭混淆(在android/app/build.gradle中设置minifyEnabled false)测试是否恢复正常,再调整混淆规则。
  • 验证资源文件更新:如果修改了图片、JSON等资源,确保pubspec.yaml中资源路径配置正确,构建时会重新打包资源。也可以尝试删除build目录后再重新构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 23:52:31