对 Android 应用程序包进行签名

做好应用程序发布准备中,使用了“存档管理器”以生成应用并将它放置在存档中以进行签名和发布。 此部分说明如何创建 Android 签名标识、为 Android 应用程序创建新签名证书以及将存档应用即席发布到磁盘。 生成的 APK 可以旁加载到 Android 设备中,而无需经过应用商店。

“存档以供发布”中,“分发通道”对话框显示两个分发选项。 选择“即席”

Distribution Channel dialog

创建新证书

选择“即席”之后,Visual Studio 会打开对话框的“签名标识”页,如下一个屏幕截图所示。 若要发布 .APK,必须首先使用签名密钥(也称为证书)对它进行签名。

可以通过单击“导入”按钮,然后前进到对 APK 进行签名,来使用现有证书。 否则,单击“”+按钮创建新证书:

Ad Hoc signing identity

“创建 Android 密钥存储库”对话框显示;使用此对话框来新建可用于对 Android 应用进行签名的签名证书。 输入所需信息(具有红色边框),如此对话框中所示:

Create Android Key Store dialog

下面的示例说明必须提供的信息的种类。 单击“创建”以创建新证书:

Creating a new certificate

生成的密钥存储位于以下位置:

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

例如,使用“chimp”作为别名,以上步骤会在以下位置创建新签名密钥

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

重要

默认情况下,“AppData”文件夹是隐藏的,你可能需要取消隐藏它来访问它。

此外,请务必将生成的密钥存储库文件和密码备份在安全的位置 – 不在解决方案中。 如果密钥存储文件(例如,因为移动到另一台计算机或重新安装了 Windows)丢失,将无法使用与以前版本相同的证书对应用签名。

有关密钥存储的详细信息,请参阅查找密钥存储的 MD5 或 SHA1 签名

对 APK 进行签名

单击“创建”时,新密钥存储(包含新证书)会进行保存并在“签名标识”下列出,如下一个屏幕截图所示。 若要在 Google Play 上发布应用,请单击“取消”并转至发布到 Google Play。 若要即席发布,请选择要用于签名的签名标识并单击“另存为”以发布应用以用于独立分发。 例如,在此屏幕截图中选择了 chimp 签名标识(在前面创建):

Signing Identity example

接下来,存档管理器会显示发布进度。 发布过程完成时,“另存为”对话框会打开,要求提供要在其中存储生成的 .APK 文件的位置:

Save As dialog

导航到所需位置并单击“保存”。 如果密钥密码未知,则“签名密码”对话框会出现,提示输入所选证书的密码:

Signing Password dialog

签名过程完成之后,单击“打开分发”

Open Distribution button

这会使 Windows 资源管理器打开包含生成的 APK 文件的文件夹。 此时,Visual Studio 已将 Xamarin.Android 应用程序编译为准备好进行分发的 APK。 下面的屏幕截图显示准备好进行发布的应用 (MyApp.MyApp.apk) 的示例:

APK shown in Windows Explorer

后续步骤

对要发行的应用程序包进行签名之后,必须发布它。 以下各部分介绍用于发布应用程序的几种方法。