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

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

  •  
  •   inSpring · 46 天前 · 3402 次点击
    这是一个创建于 46 天前的主题,其中的信息可能已经有所发展或是发生改变。

    朋友们,请教个问题:

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

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

    我都是 keystore 直接放代码里,passphase 单独保存还带备份的
    FrankHB
        9
    FrankHB  
       46 天前   ❤️ 3
    老实官方承认问题要求用户重装吧。

    @edis0n0 你这么会让懂点行的用户怀疑作者是不是被黑了,现在是替身……
    tulongtou
        10
    tulongtou  
       46 天前 via iPhone
    哈哈哈哈
    flyqie
        11
    flyqie  
       46 天前 via Android
    完蛋了,老老实实发个公告吧。。
    7654
        12
    7654  
       46 天前   ❤️ 1
    修改包名,app 名字升級到 2.0 doge ,極速版,簡潔版
    保留 1.0 ,一段時間後宣佈 1.0 停止維護,數據遷移到 2.0
    wobuhuicode
        13
    wobuhuicode  
       46 天前
    19 年经历过这个问题。后面的应用都上谷歌商品去就没事了。
    xiangyuecn
        14
    xiangyuecn  
       46 天前
    记得签名证书还有一个过期时间,好奇这玩意过期了会怎么样🐶🐶
    stardust21
        15
    stardust21  
       46 天前
    @xiangyuecn 新的签名格式在升级的时候可以替换旧签名
    unco020511
        16
    unco020511  
       45 天前
    如果你之前在 googleplay 上架,那他似乎会保存你的签名文件,
    jim9606
        17
    jim9606  
       45 天前   ❤️ 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  
       45 天前 via Android
    我都是放 onedrive
    inSpring
        19
    inSpring  
    OP
       45 天前
    我要哭了😭 没在 googleplay 上架过,只在国内的应用商店上架了
    seakingii
        20
    seakingii  
       44 天前
    @stardust21 他说的是证书创建的时候指定的过期时间,不是说旧的签名格式

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