我在 eclipse 中构建了一个 android 应用程序。发布后我已经存储了 keystore 和 key 别名。 现在我已经将它导入到 Android Studio 中,更新了源代码。我想在 Play 商店发布更新,但不幸的是它不接受。消息是:
Upload failed
您上传的 APK 使用与您之前的 APK 不同的证书进行签名。您必须使用相同的证书。您现有的 APK 已使用带有指纹的证书进行签名:
[ SHA1: 01:C0:25:50:B5:86:5A:6F:E0:7D:67:4F:84:12:47:5F:3F:33:A2:51 ]
并且用于签署您上传的 APK 的证书具有指纹:
[ SHA1:CD:DE:F8:94:2C:EF:D7:DE:59:62:8E:63:B3:38:D5:32:1B:FF:37:A9]
我需要在我的应用模块中添加以下代码吗?
defaultConfig { ... }
signingConfigs {
release {
storeFile file("myreleasekey.keystore")
storePassword "password"
keyAlias "MyReleaseKey"
keyPassword "password"
}
}
非常感谢任何帮助。谢谢
最佳答案
我为我的发布 APK 签名所做的是将实际 relase.keystore 文件的副本拖放到我的项目的根目录中,然后使用命令行签名。如果您这样做,您将 100% 确定您正在使用您在 Eclipse 中签名时使用的实际 keystore 对您的应用程序进行签名。
因此,将您的 release.keystore 文件复制并粘贴到您的 Android Studio 项目的根目录中,然后使用命令行导航到该目录,然后运行此命令:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore your_release_key.keystore app/build/outputs/apk/your_unsigned.apk your_release_key_alias
这假设您已将 jarsigner 添加到您的 PATH 环境变量中。此外,您显然会将文件名替换为 keystore 和 apk 的实际文件名。
希望这对您有所帮助!
关于android - 使用 android studio 更新我的 android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33172689/