在 Visual Studio 中创建 APK 时出现此错误:
Failed to load signer "signer #1": C:\...\googleplay.keystore entry "googleplay" does not contain a key
Run Code Online (Sandbox Code Playgroud)
我是熟悉 Visual Studio 的长期 ASP.NET 开发人员,但这是我的第一个 Xamarin 项目。(我没有使用 Android Studio。)我正在尝试将 Android 版本部署到 Google Play。我从来没有上传过APK到Google Play,所以我无法使用Visual Studio的自动部署;我必须首先按照 Google 和 Microsoft 的说明执行手动部署。
我正在使用 JDK 1.8 运行 Visual Studio 2017 15.7.5(最新)。我的项目使用 NETStandard.Library 2.0.3、Xamarin.Forms 3.1.0 和 Microsoft.EntityFrameworkCore 2.1.1。
这个问题类似于这个没有答案的问题,但我从 Visual Studio 中收到错误。如果这是重复的,我深表歉意,但我无法添加有关该问题的其他详细信息。
我正在使用 Google Play 应用签名。我已经通过 Google Play 创建了一个密钥。我下载了 .der 格式的证书。我使用 keytool(来自 c:\Program Files\Java\jdk1.8.0_172\bin)使用以下命令将 .der 文件转换为 .keystore:
keytool -importcert -alias googleplay -file …Run Code Online (Sandbox Code Playgroud) 我从Play商店下载了upload_cert.der文件。我将根证书添加到我的密钥库中就好了。但是Android Studio不允许我使用它,因为没有密码。Android Studio抱怨,在我进行构建之前,我必须输入密钥密码。
我发现有人问这个问题,没有一个答案提到密码,只是解释了为什么在密钥库中存在多个错误类型的条目,等等。为清楚起见,我可以在自己创建的密钥库中创建密钥并输入密码,就可以了。在尝试添加任何类型的密钥之前,我会先删除别名。当Android Studio想要密钥的密码而没有密码时,我只是不知道如何使用Play商店中的.der文件!
如果我使用的密码只是随机的,这是确切的错误:无法从商店“ C:\ Users \ xxxx \ xxxx.jks”中读取密钥表示:受信任的证书条目不受密码保护,因此很显然没有一种以某种方式伪造的方式。