Play 包名注册的 9 月 30 日截止期限已经过去。没有完成注册的应用被从 Play 下架。大多数应用是自动完成注册的,我上一篇帖子讲过怎么在几分钟内检查自己的应用有没有问题。
这篇讲的是另一种局面:Play Console 显示一个结果,发布页面显示另一个结果,你不知道该信哪个。下面四个真实案例,是我过去一周里遇到的,来源是 Play 帮助社区和一位客户。它们每一个看起来都像 Google 的 bug,大多数其实不是。
案例一:显示"已注册",包名却提示"已被占用"
他们看到的:一个 Flutter 应用。包名在 Android 开发者验证下面显示为已注册,但在 Play Console 里创建应用时失败,报错"已被占用"。
原因:包名是 com.example.hello_flutter。这是 Flutter 模板的默认值。几千个项目带着它发布,而 Play 根本不接受 com.example 下面的应用。
修复:换掉包名。如果这个应用从来没有发布过,你不会有任何损失:
-
在 android/app/build.gradle(或build.gradle.kts)里,把applicationId改成一个唯一的名字,比如com.yourname.appname。namespace可以不动。 -
如果你用 Firebase,用新包名新增一个 Android 应用,下载新的 google-services.json,或者重新跑一遍flutterfire configure。你的 Firebase 项目和数据都保持不变。 -
用新名字在 Android 开发者验证里注册,然后在 Play Console 里用它创建应用。
第一次发布之后,包名就再也不能改了,所以第一次就选一个你愿意一直用下去的名字。
案例二:提示"没有可用的签名密钥"
他们看到的:这位开发者给应用准备了两张证书,但注册时可选项里一张都没有出现。
原因:能不能注册,取决于每个签名密钥对应的已知安装量。Google 的帮助页面是这样写的:
-
占已知安装量 50% 以上的密钥优先。 -
如果没有密钥超过 50%,那么安装量在 50 及以上的密钥都可以注册。 -
安装量低于 50,先到先得。
这个应用还被预装在某家厂商的设备上。那份安装包很容易占到安装量的大头。如果厂商用的是自己的密钥签名,那么有资格注册的密钥属于厂商,不属于开发者。
修复:先弄清楚预装版本用的密钥在谁手里。然后从 Play Console 里的帮助页面提一个工单,附上包名、两张证书的 SHA-256 指纹,并说明其中一个是厂商预装版本。截止日期这么近,今天就提,不要等论坛回复。
案例三:已经注册,发布仍然被拦
他们看到的:包名显示已注册,但生产版本发布失败,报错"包名未注册"。
这个问题我没法从外部解决,但在工单躺进支持队列之前,有三件事值得先排除:
-
同一个账号。包名必须在拥有这个应用的那个 Play Console 开发者账号下注册。不能放在另一个 Android Developer Console 账号里,也不能放在另一个 Play 账号里。 -
同一把密钥。把你注册的证书和"测试与发布 → 应用完整性"里的应用签名密钥对一下。如果你注册错了,比如注册的是上传密钥而不是应用签名密钥,Play 可能把这次发布当成来自未注册的密钥。 -
全新的发布。如果你是在创建发布草稿之后才完成注册,先丢弃草稿,再新建一个发布。旧的草稿不一定能读到新状态。
同一周还有一个相关的案例:一位开发者用了内部应用分享,也遇到了同类的错误。内部应用分享的构建是用另一把密钥签名的,解决办法是把那把密钥作为附加密钥注册到这个包名下。
如果这些都核对过了,问题就在 Google 那边。从 Play Console 里的帮助页面提工单,附上两张截图:一张显示"已注册",一张显示发布报错。
案例四:"我的注册消失了"
他们看到的:这是我的一个客户。我们一起检查过她的应用,确认已经注册,这单也就算结了。然后她发消息过来说:"上面写着包名未注册。"
原因:什么都没出问题。Android 开发者验证页面上有一个筛选菜单,其中一个选项的字面名称就是"包名未注册"。她把筛选器的标签当成了自己应用的状态。
正确的检查方法:
-
选中"包名未注册"这个筛选器。如果列表是空的(0 个应用),你就没事。 -
打开"包名"页面,状态列应该显示"已注册"。
我把这个案例写进来,是因为它最常见,而且当截止日期说着"会从 Play 下架"时,它真的会引起恐慌。
9 月 30 日之后
Google 的说法很明确:9 月 30 日前没有完成注册的应用"将被从 Play 下架"。同一天,巴西、印度尼西亚、新加坡和泰国的 Play 以外安装的身份验证也开始了,2027 年将推广到全球。所以这个话题不会消失。
快速检查清单
-
包名不以 com.example开头 -
在拥有该应用的那个账号下完成注册 -
注册的证书和应用完整性里的应用签名密钥一致 -
附加密钥(内部应用分享、Play 之外的构建)已经添加 -
注册之后新建了发布 -
"包名未注册"筛选器显示 0 个应用
我给小团队和独立开发者修 Google Play 的问题:开发者验证、目标 API 升级、被拒的发布。如果你的某个应用还被标着问题,想尽快解决,我通过 Upwork 按固定价格接单。我从来不需要你的 keystore 文件。
官方资料有两份:Play Console Help 的《注册 Play 包名》,和 Android Developers 的《Android 开发者验证》,链接都放在文末。
参考来源
-
原文标题:"Not registered" but it is: 4 real cases before the Sept 30 deadline -
作者:Emre P. -
发布平台:DEV Community(dev.to) -
原文链接:https://dev.to/devemrep/not-registered-but-it-is-4-real-cases-before-the-sept-30-deadline-2hn1
相关链接:
-
注册 Play 包名(Play Console Help):https://support.google.com/googleplay/android-developer/answer/16984799?hl=en -
Android 开发者验证指南(Android Developers):https://developer.android.com/developer-verification/guides -
上一篇:Google Play 将在 9 月 30 日移除未注册应用,两分钟检查你的应用:https://dev.to/devemrep/google-play-will-remove-unregistered-apps-on-september-30-check-yours-in-two-minutes-3m7j -
作者 Upwork 主页:https://www.upwork.com/freelancers/~01df9a9e8b37d44bd1
相关阅读:
一个运行了一年的个人 AI Agent:自动整理日历、邮件、会议和工作记忆

