搞个了 App ,接了飞书授权登录(用的本地签名 A ),一开始没上 Google Play (使用 apk 分发) ,后来要求要上,上去后用户反馈飞书授权用不了,研究发现签名被 Google Play 二签变成 B ,所以飞书应用验证不通过。
然后我们把本地签名 A 上传到 Google Play ,重新提审下载下来还是老的签名 B ,问 Google Play 官方说,大致意思是签名使用了轮换机制,存量用户会执行此机制使用旧签名。
对于使用低于 AndroidN 版本的用户仍将继续使用您的旧版本进行签名钥匙。 对于 AndroidN+版本的用户,他们将使用您的旧密钥进行签名,但会生成标牌中包含的密钥轮换证明(以实现您之前的密钥 A 与新密钥 B 之间的信任), 以便信任新密钥一旦他们完全升级到 AndroidT(API 级别 33)版本及更高版本,您就注册了密钥,此时将完全强制执行新密钥。
请教下广大原生大佬,有没有什么方法能够统一使用签名 A ,并且立即生效。
1
AoEiuV020JP 237 天前 via Android
后台有两个签名,
一个上传签名,一个分发签名, 前者随便改,后者一年改一次, 前者不影响用户,后者改了是无法升级安装的, 只能卸载,想办法比如判断签名让用户卸载重装,数据会全丢失, |
2
yzw7489757 OP @AoEiuV020JP 感谢,先试试
|
3
wangxiaodong 236 天前
我的签名是第一代,自己存储着,似乎不需要轮换和用 google play 平台管控的签名。
|
4
yzw7489757 OP @AoEiuV020JP 如题,我们使用的正是后者,即便通过升级分发签名、以下方式升级,下载下来的 已签名 APK 仍然是 签名 A 。
> 目前升级所有安装的签名密钥是透过 proof-of-rotation 机制让先前的多签名密钥信任升级后的密钥 > 而这个机制在 APK 密钥签名 V2 中是没有的,只有在 V3 中有,所以要将 minSdkVersion 版本调整到 28 Android9)以上,才可以透过 proof-of-rotation 机制让先前的签名密钥信任升级后的密钥。 |
5
yzw7489757 OP @wangxiaodong 我们也是第一代,但上架时没考虑到 google play 会二签,现在无论怎么改,是否存量用户,返回的都是二签时的签名。
|
6
wangxiaodong 236 天前
我国内包名和 Google play 市场的包名是不同的,这样两者都能独立安装,可以自行判断决定一些事情; v2 、v3 签名似乎就不怎么重要了,你问问飞书是否可以多个 appId 支持。
@yzw7489757 |
7
yzw7489757 OP @wangxiaodong 能开多个飞书应用,不支持一个应用绑定多个 AppId ,得在编译 aab 时改变量去判断打的是哪种包,这种只能算 plainB, 预期是想要个一劳永逸的 plainA
|