zoukankan      html  css  js  c++  java
  • if the parser found inconsistent certificates on the files in the .apk.104

    当静默安装提示104时,是说升级的APK 和本地已经安装的APK 签名不一致,所以无法升级。

    经百度,找到知乎同学@陈子腾的回答,找到了问题所在。

    可以比对apk签名的fingerprint。

    假定安装了JDK,如果想查HelloWorld.apk所使用的签名的fingerprint,可以这样做:

    1. 查找apk里的rsa文件

    (Windows)
    > jar tf HelloWorld.apk |findstr RSA

    (Linux)
    $ jar tf HelloWorld.apk |grep RSA


    META-INF/CERT.RSA

    2. 从apk中解压rsa文件

    jar xf HelloWorld.apk META-INF/CERT.RSA

    3. 获取签名的fingerprints

    keytool -printcert -file META-INF/CERT.RSA

    ...
    Certificate fingerprints:
    MD5: BC:6D:BD:6E:49:69:2A:57:A8:B8:28:89:04:3B:93:A8
    SHA1: 0D:DF:76:F4:85:96:DF:17:C2:68:1D:3D:FF:9B:0F:D2:A1:CF:14:60
    Signature algorithm name: SHA1withRSA
    Version: 3
    ...

    4. 清理工作,删除rsa文件

    (Windows)
    rmdir /S /Q META-INF

    (Linux)
    rm -rf META-INF


    如果你想知道两个apk是不是用的同一个签名,那比一下它们签名的MD5码(或SHA1码)是不是一样就行了。

    http://www.zhihu.com/question/20749413/answer/16645210

  • 相关阅读:
    JAVA日报
    剑指 Offer 31. 栈的压入、弹出序列
    剑指 Offer 30. 包含min函数的栈
    剑指 Offer 29. 顺时针打印矩阵
    20210426日报
    20210423日报
    20210422日报
    20210421日报
    20210420日报
    20210419日报
  • 原文地址:https://www.cnblogs.com/jiuzhexingfu/p/4147199.html
Copyright © 2011-2022 走看看