Flutter应用开放测试版未显示Play商店版本致upgrader插件异常
问题根源
Google Play的开放测试渠道版本不会在公开商店页面显示,而upgrader插件默认从公开商店页爬取版本信息,这就导致插件无法获取到有效版本字符串,直接抛出FormatException。
解决办法
1. 让upgrader适配测试渠道
有两种方式可以让插件获取到测试版本:
- 用Google Play Developer API(推荐)
先在Google Cloud Console创建API密钥,给该密钥授权「Play Developer API」权限,然后在插件初始化时配置:
这种方式能直接从官方API拉取测试渠道的版本信息,稳定性最高。final upgrader = Upgrader( playStoreCountry: '你的应用发布国家代码', apiKey: '你的Google Play Developer API密钥', shouldOpenStore: (link) => true, ); - 手动指定版本(临时测试用)
如果只是本地测试,不想折腾API,可以直接强制设置最新版本,跳过商店检查:final upgrader = Upgrader( minAppVersion: '你的测试版本号', // 比如1.0.1 debugLogging: true, );
2. 检查Play控制台的测试配置
- 确认开放测试渠道的版本已经审核通过,未审核的版本不会对测试人员开放
- 测试人员必须通过Play控制台提供的「Opt-in链接」加入测试,才能看到测试版本,普通商店页无法查看
- 检查测试人员列表是否正确添加(支持邮箱或Google群组)
3. 校验版本号格式
确保应用版本号是标准格式,比如1.0.0、2.2.3-beta,不能包含特殊字符或不符合语义化版本规范的格式,upgrader对版本字符串的格式校验较为严格。
内容的提问来源于stack exchange,提问作者sarath ks
相关产品推荐
相关产品推荐

