查找密钥存储的签名

Xamarin.Android 应用的 MD5 或 SHA1 签名取决于用于对 APK 进行签名的 .keystore 文件。 通常,调试版本会使用不同于发布版本的 .keystore 文件。

对于调试/非自定义签名版本

Xamarin.Android 使用相同的 debug.keystore 文件对所有调试版本进行签名。 初次安装 Xamarin.Android 时会生成此文件。以下步骤详细介绍了默认 Xamarin.Android debug.keystore 文件的 MD5 或 SHA1 签名查找过程。

找到用于对应用进行签名的 Xamarin debug.keystore 文件。 默认情况下,用于对 Xamarin.Android 应用程序调试版本进行签名的密钥存储位于以下位置:

C:\Users\USERNAME\AppData\Local\Xamarin\Mono for Android\debug.keystore

可通过从 JDK 运行 keytool.exe 命令来获取有关密钥存储的信息。 此工具通常位于以下位置:

C:\Program Files (x86)\Java\jdkVERSION\bin\keytool.exe

将包含 keytool.exe 的目录添加到 PATH 环境变量。 打开命令提示符,使用下面的命令运行 keytool.exe

keytool.exe -list -v -keystore "%LocalAppData%\Xamarin\Mono for Android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

运行时,keytool.exe 应输出以下文本。 MD5:SHA1: 标签标识相应的签名:

Alias name: androiddebugkey
Creation date: Aug 19, 2014
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 53f3b126
Valid from: Tue Aug 19 13:18:46 PDT 2014 until: Sun Nov 15 12:18:46 PST 2043
Certificate fingerprints:
         MD5:  27:78:7C:31:64:C2:79:C6:ED:E5:80:51:33:9C:03:57
         SHA1: 00:E5:8B:DA:29:49:9D:FC:1D:DA:E7:EE:EE:1A:8A:C7:85:E7:31:23
         SHA256: 21:0D:73:90:1D:D6:3D:AB:4C:80:4E:C4:A9:CB:97:FF:34:DD:B4:42:FC:
08:13:E0:49:51:65:A6:7C:7C:90:45
         Signature algorithm name: SHA1withRSA
         Version: 3

对于发布/自定义签名版本

对于使用自定义 .keystore 文件签名的发布版本,过程与上述相同,将 Xamarin.Android 使用的 debug.keystore 文件替换为发布 .keystore 文件。 发布密钥存储文件创建后,替换为自己的密钥存储密码值和别名。

使用 Visual Studio“分发”向导对 Xamarin.Android 应用进行签名时,产生的密钥存储位于以下位置:

C:\Users\USERNAME\AppData\Local\Xamarin\Mono for Android\Keystore\aliasalias.keystore\

例如,如果按照创建新证书中的步骤创建新的签名密钥,则产生的示例密钥存储位于以下位置:

C:\Users\USERNAME\AppData\Local\Xamarin\Mono for Android\Keystore\chimp\chimp.keystore

有关对 Xamarin.Android 应用进行签名的详细信息,请参阅对 Android 应用程序包进行签名