android studio生成的apk具有与eclipse生成的apk不同的指纹和相同的证书
我有一个用eclipse制作的遗留android项目,最近我将该项目更新为使用android studio。当我试图提交签名的apk时,google play说它是用与前一个不同的证书签名的。但我相信那是同一张证书。如果我用eclipse生成一个apk,它可以工作,但是在android studio中,即使使用相同的证书,它也不能工作 如果我在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
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时应该使用什么算法。