使用Google Developer API上传应用包成功却无法显示的问题排查
以下是几个最可能导致该问题的操作失误及排查方向:
未提交编辑会话
使用googleapiclient上传AAB时,所有操作都在临时的编辑会话(edit)中进行。仅完成edits.bundles.upload后,bundle只是处于草稿状态,必须调用edits.commit()提交会话,才会真正同步到Play后台。检查你的代码是否遗漏了这一步:service.edits().commit(packageName=PACKAGE_NAME, editId=edit_id).execute()上传到错误/未激活的Track
如果你将AAB关联到了internal、alpha这类测试Track,而该Track没有配置测试人员,或者你在Play Console中查看的是其他Track(比如默认的production),就会在bundle explorer中找不到。同时,部分测试Track需要审核通过后才会显示bundle。
核对代码中指定的Track参数是否正确,比如:service.edits().tracks().update( packageName=PACKAGE_NAME, editId=edit_id, track='production', # 确认此处Track与你要操作的一致 body={ 'releases': [{ 'versionCodes': [str(version_code)], 'status': 'completed' }] } ).execute()另外,去对应Track的版本列表而非bundle explorer主页面查找该AAB。
签名不匹配
即便上传过程没有报错,若AAB的签名与Play后台记录的上传密钥指纹不匹配,Google会静默拒绝该bundle,不会在后台展示。你可以用jarsigner -verify -verbose -certs your-app.aab查看本地AAB的签名信息,再对比Play Console「应用签名」页面的上传密钥指纹。API调用顺序错误
正确的流程必须是:创建编辑会话 → 上传AAB → 更新Track关联版本号 → 提交编辑。如果颠倒了步骤(比如先更新Track再上传bundle),会导致Track关联的versionCode不存在,最终bundle无法被正确关联到Track,自然不会显示。versionCode重复
若该versionCode已被历史上的任何bundle使用过(哪怕已下架或删除),新上传的bundle可能不会正常显示。去Play Console的所有Track历史版本中,确认这个versionCode是唯一的。编辑会话超时
编辑会话创建后1小时内未提交会自动过期,上传的bundle也会被丢弃。确保上传到提交的流程在短时间内完成,若会话过期,重新创建新的编辑会话再执行上传操作。
内容的提问来源于stack exchange,提问作者Julien Debache

