android studio生成的apk具有与eclipse生成的apk不同的指纹和相同的证书

android studio生成的apk具有与eclipse生成的apk不同的指纹和相同的证书,android,eclipse,android-studio,code-signing,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 nu

我有一个用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,google play会接受它。这是安卓工作室的bug吗

我测试了Android Studio版本1.4.1、Build#AI-141.2343393和Android Build Tools 23.0.1


谢谢。

您好,您是否找到了在android studio中登录并获得正确指纹的解决方案?不,我没有。正如我在问题中所说的,我正在用gradle生成一个未签名的apk并手动签名。这是我找到的唯一获得正确apk的方法。我花了更多的时间来找出区别。我认为如果密钥库使用摘要算法“SHA1withRSA”,android studio将生成具有不同指纹的签名apk,因为我猜android Sudio默认使用SHA256withRSA。我已从证书中提取私钥,并尝试使用SHA256重新创建密钥存储。然后,即使是keytool也会像Android Studio一样输出指纹。我必须说android studio应该提供一种机制来指定它在唱apk时应该使用什么算法。嗨,你找到了一个解决方案来在android studio中签名并获得正确的指纹吗?不,我没有。正如我在问题中所说的,我正在用gradle生成一个未签名的apk并手动签名。这是我找到的唯一获得正确apk的方法。我花了更多的时间来找出区别。我认为如果密钥库使用摘要算法“SHA1withRSA”,android studio将生成具有不同指纹的签名apk,因为我猜android Sudio默认使用SHA256withRSA。我已从证书中提取私钥,并尝试使用SHA256重新创建密钥存储。然后,即使是keytool也会像Android Studio一样输出指纹。我必须说android studio应该提供一种机制来指定它在演唱apk时应该使用什么算法。