初学 Android,请教下当前 2020.3 的 AS 如何获取当前应用的开发版 sha1? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Features
V2EX    Android

初学 Android,请教下当前 2020.3 的 AS 如何获取当前应用的开发版 sha1?

  •  
  •   Features 2021-12-29 23:33:15 +08:00 11847 次点击
    这是一个创建于 1385 天前的主题,其中的信息可能已经有所发展或是发生改变。

    网上看的教程是说用 keytools 工具查看~/.android 下的 debug.keystore 但是我无法读取这个 keystore

    请教下各位大佬应该么获取呢?

    主要是我删了这个 debug.keystore 也能正常打包编译运行。。。 也没有给我重新生成一个

    16 条回复    2021-12-30 21:13:48 +08:00
    eminemcola
        1
    eminemcola  
       2021-12-29 23:42:33 +08:00
    理论上应该是可以读的,实在不行也可以考虑直接通过代码在运行时读一下当前的 signinfo 写到日志里看看。
    Features
        2
    Features  
    OP
       2021-12-29 23:45:50 +08:00
    @eminemcola 使用命令: keytool -list -v -keystore .\debug.keystore
    读取的时候报错:
    ```

    keytool 错误: java.io.IOException: Invalid keystore format
    java.io.IOException: Invalid keystore format
    at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:650)
    at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55)
    at java.security.KeyStore.load(KeyStore.java:1445)
    at sun.security.tools.keytool.Main.doCommands(Main.java:794)
    at sun.security.tools.keytool.Main.run(Main.java:342)
    at sun.security.tools.keytool.Main.main(Main.java:335)

    ```

    是我命令的参数有误吗?
    learningman
        3
    learningman  
       2021-12-30 00:45:34 +08:00
    所以你为啥要 debug 的证书 sha1 。。。
    AItsuki
        4
    AItsuki  
       2021-12-30 01:01:28 +08:00   1
    你删了没啥影响的,debug.keystore 每次运行都会给你重新生成一个,所以 sha1 也会一直变,你要将它拷贝出来放到项目目录中,然后配置下 debug 签名就行了。
    至于命令就是 `keytool -list -v -keystore debug.keystore` 没错,可能是不需要.\这个路径?
    tmtstudio
        5
    tmtstudio  
       2021-12-30 08:25:12 +08:00
    自己生成一个签名,在 build.gradle 里指定为 debug 的签名不就好了
    AoEiuV020
        6
    AoEiuV020  
       2021-12-30 09:17:53 +08:00   2
    应用模块有个任务叫 signReport 可以打印当前的 debug 和 release 签名指纹,包括 sha1 ,
    另外我一般都是配置 debug 和 release 相同证书,以便用debug 包覆盖 release 包调试,
    unco020511
        7
    unco020511  
       2021-12-30 10:09:19 +08:00   1
    可以手动指定 debug 的签名啊,指定一个自己的签名呀
    gtanyin
        8
    gtanyin  
       2021-12-30 11:24:21 +08:00
    windows 电脑吗?直接点开下面的 terminal ,输入 gradlew.bat app:signingReport
    但如果使用系统默认的证书,每台电脑都是不一样的,建议自己生成一个
    Features
        9
    Features  
    OP
       2021-12-30 11:32:28 +08:00
    @learningman 一些第三方应用集成的时候要填写
    Features
        10
    Features  
    OP
       2021-12-30 11:36:57 +08:00
    @AItsuki 尝试去掉 ./,也不行
    有没有可能是我系统的 JDK 和 AS 内部的 JDK 版本不一致导致的?
    jeepc
        11
    jeepc  
       2021-12-30 11:48:28 +08:00
    日志都不看的吗,keystore 格式不对( Invalid keystore format ),可能是版本不兼容,往这个方向去排查
    Features
        12
    Features  
    OP
       2021-12-30 11:48:56 +08:00
    @gtanyin
    @AoEiuV020
    谢谢,很管用
    Features
        13
    Features  
    OP
       2021-12-30 11:49:51 +08:00
    @jeepc 看了,就是不知道咋回事啊
    是系统的 JDK 和 AS 的 JDK 版本不一致吗?
    jeepc
        14
    jeepc  
       2021-12-30 11:51:16 +08:00
    @Features 我好久没搞 android 了,你直接 google 这个报错看看
    learningman
        15
    learningman  
       2021-12-30 16:45:50 +08:00
    或者你自己签一个证书,用 signingConfig 指定给 debug 类型的 buildType 也行
    Features
        16
    Features  
    OP
       2021-12-30 21:13:48 +08:00
    @learningman 谢谢,搞定了,自己签了一个证书,原来有点搞不明白 gradle 的配置
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     915 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 22:02 PVG 06:02 LAX 15:02 JFK 18:02
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86