1
Anarchy 2024-06-26 07:24:14 +08:00
看起来对于 AndroidN 以上是有相关升级机制的。
看官方文档吧: https://support.google.com/googleplay/android-developer/answer/9842756 |
2
hollc 2024-06-26 08:54:49 +08:00
先推一个小版本,出一个备份功能。然后引导用户下载新包名的 apk ,最后引导用户恢复备份。包名不一样,都无法识别为同一个程序,我猜想应该没有解决办法
|
3
ho121 2024-06-26 08:57:28 +08:00 via Android
换包名推出 2.0 版本,可以和 1.0 版本共存,以后只更新 2.0 版本
|
4
egan0606 2024-06-26 09:52:01 +08:00
据我所知:包名是不可以更改的; “包名”代表应用的唯一性; “签名”防止应用篡改; 市面上比较可行的就是 2 楼、3 楼的方案; 但是再想想,真的有必要换吗? 正常用户是看不到包名的;
|
![]() |
5
pengpeng1 2024-06-26 09:55:55 +08:00
可以让 Google 官方给你兼容下
|
6
yinmin 2024-06-26 10:22:17 +08:00 via iPhone
证书用 openssl 拆成 crt 文件和 key 文件,然后用 openssl 使用 key 文件重新生成 crt 文件,然后 openssl 合并 crt 和 key 。具体指令可以问 gpt
|
![]() |
9
coolmint 2024-06-26 10:28:22 +08:00
干脆就一直用老包名,tiktok 那包名都没换
|
10
eleba 2024-06-26 10:38:11 +08:00
换包名就是换一个 app 了 大佬
|
11
dode 2024-06-26 10:41:09 +08:00
发布两套,官网先变更,并且发布新功能吸引客户自行升级
|
![]() |
12
keyboardCat 2024-06-26 11:13:01 +08:00
包名无所谓,用户看不到的。
|
![]() |
13
shily 2024-06-26 11:43:23 +08:00
@keyboardCat 赞同
包名无所谓,用户看不到的。 |
14
drymonfidelia OP |
![]() |
15
lakehylia 2024-06-26 12:05:08 +08:00
只能引导用户,设置一个过渡期,两套共存,过渡期完了之后干掉旧的。但是数据迁移很麻烦的。
|
16
distance7509 2024-06-26 12:07:49 +08:00
没必要换吧,换了包名又是另外一个应用了,会流失用户的
|
![]() |
17
wbrobot 2024-06-26 12:19:57 +08:00
我的理解:
1 ,有内置升级功能,直接发布更新安装新的 apk 。 2 ,没有内置升级,更新一个小版本,增加内置升级功能,然后发布更新安装新的 apk 。 |
18
thepot 2024-06-26 13:16:24 +08:00
直接弹窗,跳转“pro 黄金版”的下载页面
|
![]() |
19
weishu 2024-06-26 13:21:30 +08:00
Android 支持密钥轮替,不过只有 Android 9 以上的设备支持,参考: https://source.android.com/docs/security/features/apksigning/v3?hl=zh-cn
|
![]() |
21
lw10645 2024-06-26 14:36:00 +08:00
老包里面每次打开引导用户下载新包,并告知用户当前版本不再维护(可以编一些理由,比如政策原因啥),再给一个最终期限,然后其他所有位置都换成新包的下载入口,,这个东西需要过渡期的
|
22
Tomatopotato 2024-06-26 14:52:53 +08:00
|
23
Tomatopotato 2024-06-26 14:53:14 +08:00
发不了文字 看我上面的图片吧
|
![]() |
24
rlds 2024-06-26 14:53:31 +08:00
换包名没法覆盖,建议旧版的内置更新里面引导用户更新版,其次新版的检测下是否安装了旧版引导用户卸载旧版。
|
25
XXWHCA 2024-06-26 18:00:18 +08:00
不可能的,app 名称好比人的名字,包名就是身份证号码,相当于这个 app 的唯一标识,如果包名可以随便修改,然后还能顶替原来的包名,就好比一个人换了身份证号,那不乱套了
|
![]() |
26
magicls 2024-06-26 18:15:26 +08:00
楼上提到签名轮换的倒是好心,但是没审题,题主是要换包名,不是换签名。
我的建议是你们把新版本的 apk ,打到老版本去,出一个老版本的更新,这个更新安装之后,首次打开就把新版本装上,startActivity ,然后 finish 自己。新版本打开之后去引导用户把老版本卸载,从此只更新新版本。我们公司有个项目就是这么干的。 代价自然是用户的体验、操作成本,还有部分反感,不过这也是没有办法的办法,你们可以提前几个版本,邮件或者挂 banner 通知用户你们打算这么做。 有些人可能会问,既然都通知用户了,为啥不直接引导用户自己去下新版本?我想说真正待过几个项目的应该都知道,用户(尤其海外的)小白起来是非常小白的,没有人会跟着你一步步去下新版,安装,再卸旧版,只能尽可能自己做更多,让他们少做。 |
![]() |
27
retrocode 2024-06-26 18:21:56 +08:00
这种实践一般是推出新包名 搭配新 icon 和 新程序名, 确保用户在手机上一眼可以认出是新程序(因与原 app 共存), 之后原有 APP 中添加更新提示引导用户更新, 至于是启动就弹窗告诉用户老应用直接停用了, 还是返回弹窗恶心人但是老 APP 还能继续用就看你们操作了
|
28
xiaoniukuaile 2024-06-26 23:15:21 +08:00
@Tomatopotato 非常中肯的回答
|
29
1una0bserver 2024-06-27 12:05:31 +08:00 via Android
你不换还好,换包名的结果必然是大量用户流失,你引流到另一个软件和说明这个软件凉了差不多,用户也不是傻子,你要是恶心用户,用户完全可以要么继续用旧版要么用替代品。
|
![]() |
30
burden7 2024-06-28 15:39:43 +08:00
我司的内部 b 端 app 前一段在“硬性要求”下刚换了一次包名,全部用户要重新安装
看你这个场景是 toc 的 app ,劝你领导趁早放弃,你也省得麻烦。不然你司收购的这个 app 所携带的老用户基本归零 |