V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
inSpring
V2EX  ›  Android

把给 app 打包的 keystore 文件弄丢了,怎么办?

  •  
  •   inSpring · 2022-08-12 23:25:47 +08:00 · 11815 次点击
    这是一个创建于 829 天前的主题,其中的信息可能已经有所发展或是发生改变。

    朋友们,请教个问题:

    由于换电脑,把之前给 app 打包的 keystore 弄丢了, 如果创建新的 keystore 打包新版本发给用户升级,用户安装的时候会提示 ”签名不一致,该应用可能已被修改“ 。 你们有遇到过这种问题吗?有啥好的解决办法吗?

    25 条回复    2022-09-22 20:02:53 +08:00
    dadaewqq
        1
    dadaewqq  
       2022-08-12 23:34:10 +08:00
    G 了
    zdxiaoda
        2
    zdxiaoda  
       2022-08-12 23:57:12 +08:00 via Android   ❤️ 1
    没有办法,丢了就是丢了。只能从以前的电脑找下了。。。
    louzhichen
        3
    louzhichen  
       2022-08-13 00:01:02 +08:00
    没有。但不想尴尬的话安装文件是不是可以直接覆盖掉?
    edis0n0
        4
    edis0n0  
       2022-08-13 00:15:30 +08:00   ❤️ 2
    弹窗提示:App 更新了安全保护方式来更好的保护你的隐私,部分设备可能无法直接更新,如果更新失败请卸载并重新安装。
    edis0n0
        5
    edis0n0  
       2022-08-13 00:16:51 +08:00
    @edis0n0 #4 最后一句是因为我记得 Android 新包签名不一致无法更新。保护隐私是万能借口 /doge
    mxT52CRuqR6o5
        6
    mxT52CRuqR6o5  
       2022-08-13 00:20:31 +08:00 via Android
    没有办法,这个属于现代密码学成果,等量子计算机成熟以后也许有办法
    kenvix
        7
    kenvix  
       2022-08-13 00:31:40 +08:00 via Android
    你只能改包名,然后建议用户卸载旧版了
    learningman
        8
    learningman  
       2022-08-13 00:58:33 +08:00 via Android

    我都是 keystore 直接放代码里,passphase 单独保存还带备份的
    FrankHB
        9
    FrankHB  
       2022-08-13 03:13:19 +08:00   ❤️ 3
    老实官方承认问题要求用户重装吧。

    @edis0n0 你这么会让懂点行的用户怀疑作者是不是被黑了,现在是替身……
    tulongtou
        10
    tulongtou  
       2022-08-13 07:26:14 +08:00 via iPhone
    哈哈哈哈
    flyqie
        11
    flyqie  
       2022-08-13 07:40:18 +08:00 via Android
    完蛋了,老老实实发个公告吧。。
    7654
        12
    7654  
       2022-08-13 09:05:18 +08:00   ❤️ 1
    修改包名,app 名字升級到 2.0 doge ,極速版,簡潔版
    保留 1.0 ,一段時間後宣佈 1.0 停止維護,數據遷移到 2.0
    wobuhuicode
        13
    wobuhuicode  
       2022-08-13 09:13:17 +08:00
    19 年经历过这个问题。后面的应用都上谷歌商品去就没事了。
    xiangyuecn
        14
    xiangyuecn  
       2022-08-13 11:00:27 +08:00
    记得签名证书还有一个过期时间,好奇这玩意过期了会怎么样🐶🐶
    stardust21
        15
    stardust21  
       2022-08-13 13:06:40 +08:00
    @xiangyuecn 新的签名格式在升级的时候可以替换旧签名
    unco020511
        16
    unco020511  
       2022-08-13 15:12:09 +08:00
    如果你之前在 googleplay 上架,那他似乎会保存你的签名文件,
    jim9606
        17
    jim9606  
       2022-08-13 16:33:28 +08:00   ❤️ 1
    如果你传 play 市场并用过 play app signing ,那 google 还存着你的 signkey (不能导出,怎么想都不可能支持这个),那你可以让 google play 帮你签名,但你以后只能用这个途径获取签名包了。Google 自己也是拿避免丢失 signkey 来为这项服务宣传的。

    https://support.google.com/googleplay/android-developer/answer/9842756

    @xiangyuecn

    signkey 是会过期的,所以 v3 signing scheme 提供密钥轮替功能,但用于轮替的 v3 签名包依然需要旧 key 签名,play app signing 支持这个,但轮替要高版本 android ,而且你基本不用指望近几年除 play 以外的应用市场会支持这个。

    https://source.android.com/security/apksigning/v3

    小众应用的建议向用户坦白,更换包名和 signkey 并启用 play app signing 。务必通过可靠可信可验证的渠道进行通知,例如旧应用的推送渠道。个人觉得 v3 轮替实现起来有特多麻烦。
    estk
        18
    estk  
       2022-08-13 18:36:10 +08:00 via Android
    我都是放 onedrive
    inSpring
        19
    inSpring  
    OP
       2022-08-13 20:47:33 +08:00
    我要哭了😭 没在 googleplay 上架过,只在国内的应用商店上架了
    seakingii
        20
    seakingii  
       2022-08-14 13:35:47 +08:00
    @stardust21 他说的是证书创建的时候指定的过期时间,不是说旧的签名格式

    我一般指定一百年...过期不了...如果这个时间过期,估计和丢失了证书一样的后果?
    iwh718
        21
    iwh718  
       2022-08-14 16:17:25 +08:00 via Android
    谷歌那边可以邮件换新的,但是老用户只能卸载重装或者就是新软件。我也是弄丢了秘钥,换新的了
    stardust21
        22
    stardust21  
       2022-08-15 10:11:19 +08:00
    @seakingii Android 9 支持 APK 密钥轮替,这使应用能够在 APK 更新过程中更改其签名密钥。可以看下 V3 签名的文档: https://source.android.com/security/apksigning/v3?hl=zh-cn
    feller
        23
    feller  
       2022-08-15 14:01:01 +08:00
    收拾一下 准备离职( dog )
    Highlight1024
        24
    Highlight1024  
       2022-08-16 09:49:31 +08:00
    这种东西不备份,简直太勇了
    SekiBetu
        25
    SekiBetu  
       2022-09-22 20:02:53 +08:00
    只能忽悠用户重装了,换个大版本号,改个 UI 吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1040 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:26 · PVG 04:26 · LAX 12:26 · JFK 15:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.