android studio生成apk用不同的指纹从apk生成的eclipse和相同的证书

时间:2015-10-29 12:35:57

标签: android eclipse android-studio code-signing

我有一个用eclipse制作的遗留android项目,最近我更新了该项目以使用android studio。当我尝试提交已签名的apk时,Google Play会说它使用的证书与之前的证书不同。但我确定这是相同的证书。如果我使用eclipse生成一个apk,它可以工作,但在android studio中,即使使用相同的证书,它也不会。

如果我在用eclipse生成的apk中打印证书,我得到:

Owner: CN=Luciano...
Issuer: CN=Luciano...
Serial number: 35623238373966383a31333432326637373064303a2d38303030
Valid from: Thu Dec 08 11:16:08 BRST 2011 until: Tue Dec 09 11:16:08 BRST 2036
Certificate fingerprints:
     MD5:  9A:CB:***:AA:88
     SHA1: 0D:BA:***:20:9B
     SHA256: CA:3F:***:90:58
     Signature algorithm name: SHA1withRSA
     Version: 3

Extensions: 

#1: ObjectId: 2.5.29.37 Criticality=false
ExtendedKeyUsages [
  codeSigning
]

但如果我在用android studio生成的apk中打印证书,我会得到:

Owner: CN=Luciano...
Issuer: CN=Luciano...
Serial number: 35623238373966383a31333432326637373064303a2d38303030
Valid from: Thu Dec 08 11:16:08 BRST 2011 until: Tue Dec 09 11:16:08 BRST 2036
Certificate fingerprints:
     MD5:  E1:51:***:7A:08
     SHA1: 63:F0:***:65:CF
     SHA256: 66:57:***:B9:CB
     Signature algorithm name: SHA1withRSA
     Version: 3

Extensions: 

#1: ObjectId: 2.5.29.37 Criticality=false
ExtendedKeyUsages [
  codeSigning
]

证书具有相同的序列号,但指纹不同。

我尝试使用gradle生成一个未签名的apk并手动对其进行签名,但它确实有效。更好的解释,如果我手动签署apk,谷歌播放接受它。这是一个android studio bug吗?

我针对Android Studio版本1.4.1,Build#AI-141.2343393和Android Build Tools 23.0.1进行了测试。

感谢。

0 个答案:

没有答案