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

Flutter Android端getApplicationDocumentsDirectory异常:版本降级致数据丢失

Flutter Android升级触发INSTALL_FAILED_VERSION_DOWNGRADE并丢失用户数据

原始问题

  • 环境:MacOS Ventura、VSCode、Flutter 3.13.6
  • 现象:iOS/iPadOS端应用升级正常,但Android端从v1.1.4+9升级到v1.1.5+1时,出现INSTALL_FAILED_VERSION_DOWNGRADE错误,且getApplicationDocumentsDirectory目录下的22个用户数据文件丢失,仅剩余2个系统文件。两个版本仅pubspec.yaml中的version字段不同。
  • 已尝试操作:清理项目、重建android目录、升级依赖,均无效果。

问题根源排查(重要更新)

经过多轮测试,定位到问题核心:Android端Flutter构建系统对pubspec.yaml版本号的处理逻辑与iOS不一致。

应用版本迭代历史为1.0.0+1到1.1.4+9,但当版本从1.0.0+3更新到1.0.1+1时,Android将后者的versionCode识别为1,前者为3,导致系统判定为版本降级,触发INSTALL_FAILED_VERSION_DOWNGRADE错误。此外,近期的降级操作会清除旧应用数据,此前无此现象。

临时解决与待确认方案

目前已通过修改android/app/build.gradle文件,自定义计算versionCode的方式临时解决问题,但仍需确认以下方向:

  • 是否需要为Android和iOS平台设置不同的版本号格式?
  • 有没有符合Flutter官方规范的更优解决方案?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 07:24:57