使用Azure DevOps发布Flutter Alpha测试版本至Google Play时遇授权错误
解决Google Play发布任务中的"invalid grant: Invalid grant: account not found"错误
这个错误和你确认的Google Play用户名无关,核心是Azure DevOps的Google Play服务连接凭据无效,以下是具体排查和解决步骤:
检查服务连接的服务账号状态
Azure DevOps的Google Play服务连接依赖Google Cloud服务账号密钥,不是个人账号密码:- 登录Google Cloud控制台,找到对应项目的IAM页面,确认服务账号未被删除或禁用。
- 如果服务账号密钥过期、被撤销,重新生成JSON格式的密钥,更新到Azure DevOps的
my_service_connection中。
验证服务账号的Play Console权限
服务账号必须在Google Play Console拥有发布权限:- 进入Play Console的「用户和权限」页面,添加服务账号的邮箱地址,授予「发布者」或「应用发布者」权限,确保权限覆盖目标应用。
核对任务配置细节
- 确认
applicationId和Play Console中应用的ID完全一致,大小写、拼写不能有偏差。 - 检查
bundleFile路径是否正确,建议用构建变量(比如$(Build.ArtifactStagingDirectory)/app-release.aab)替代硬编码路径,避免路径错误。
- 确认
清除令牌缓存(自托管代理场景)
如果用的是自托管代理,可能存在失效的OAuth令牌缓存,清理代理机器上Google相关的缓存文件后重新运行任务;微软托管代理无需操作,重新运行即可。
修正后的示例配置:
task: ms-vsclient.google-play.google-play-release.GooglePlayRelease@4 displayName: 'Release to alpha' inputs: serviceConnection: 'my_service_connection' applicationId: 'com.yourcompany.yourapp' bundleFile: '$(Build.ArtifactStagingDirectory)/app-release.aab' track: 'alpha' changeLogFile: '$(Build.ArtifactStagingDirectory)/changelog.txt'
内容的提问来源于stack exchange,提问作者Anwar Sh
相关产品推荐
相关产品推荐

