inSpring
V2EX  ›  Android

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

  •  
  •   inSpring · Aug 12, 2022 · 17857 views
    This topic created in 1549 days ago, the information mentioned may be changed or developed.

    朋友们,请教个问题:

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

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

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

    我一般指定一百年...过期不了...如果这个时间过期,估计和丢失了证书一样的后果?
    iwh718
    iwh718
    Aug 14, 2022 via Android
    21
    谷歌那边可以邮件换新的,但是老用户只能卸载重装或者就是新软件。我也是弄丢了秘钥,换新的了
    stardust21
    stardust21
    Aug 15, 2022
    22
    @seakingii Android 9 支持 APK 密钥轮替,这使应用能够在 APK 更新过程中更改其签名密钥。可以看下 V3 签名的文档: https://source.android.com/security/apksigning/v3?hl=zh-cn
    feller
    feller
    Aug 15, 2022
    23
    收拾一下 准备离职( dog )
    Highlight1024
    Highlight1024
    Aug 16, 2022
    24
    这种东西不备份,简直太勇了
    SekiBetu
    SekiBetu
    Sep 22, 2022
    25
    只能忽悠用户重装了,换个大版本号,改个 UI 吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   558 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 65ms · UTC 19:21 · PVG 03:21 · LAX 11:21 · JFK 14:21
    ♥ Do have faith in what you're doing.