如何使用 Play 应用签名和应用程序包设置 Unity 应用程序并将其部署到 Google Play?

Posted

技术标签:

【中文标题】如何使用 Play 应用签名和应用程序包设置 Unity 应用程序并将其部署到 Google Play?【英文标题】:How do I set up and deploy a Unity application to Google Play using Play app signing and app bundles? 【发布时间】:2021-07-05 05:53:39 【问题描述】:

使用 app bundle 和 Play 应用签名是目前 google 推荐的在 google Play 上部署新应用的方式。从 2021 年 8 月开始,新的应用程序将使用这些格式。

如何在 Unity 中进行设置,如何在 Google Play 中配置应用程序?

【问题讨论】:

【参考方案1】:

我还没有将 2019.4 应用程序包构建成功上传到 Play 控制台,因此在开始之前升级到 2020.3 LTS 可能是个好主意(因为这最终对我有用。

配置 Google Play 应用签名

首先在Play Console 中创建一个新应用,为其命名,接受条款等。

然后,点击左侧菜单中的Internal testing,新建一个内部版本。

在第一个问题中,点击Change App Signing keyUse a different key,然后选择第三个选项,您可以在其中将现有密钥(以及添加上传密钥的可选步骤)上传到 Google Play。

现在,不要只按照 Google Play 上列出的说明进行操作,因为您最终会得到一个 Unity 不知道如何处理的上传密钥存储。

相反,使用 Unity,我们将创建两个密钥存储和两个密钥。第一个是应用签名密钥,您只需在将其上传到 Google Play 时查看一次,然后 Google 会处理它并在您上传 app bundle 后使用它对您的应用进行最终签名.

转到Player settingsPublishing SettingsKeystore ManagerCreate new in dedicated location

您无需填写所有内容。只是密码、密钥别名和密钥密码。不管你叫什么钥匙。暂时不要将 Unity 配置为使用此密钥(我们将创建另一个密钥和密钥库供 Unity 使用)。

按照说明 1.-3。在 Google Play 上使用 pepk 工具上传此新密钥。

然后,您需要创建上传密钥和密钥库。 Unity 将使用此密钥对您的应用程序包进行签名。同样,不要使用 Google Play 上的说明来创建此密钥,而是使用 Unity UI 创建另一个与 Unity 配合得很好的密钥存储。

密码和别名可以是任何你想要的我将密钥命名为uploadkey,但请确保将密钥存储和密码保存在安全的地方,稍后您将需要这些,否则您将不得不创建新密钥并交谈到 Google 支持来重置它。

出现提示时,单击“是”以配置您的项目以使用此新密钥。

当您创建密钥存储并将其公钥导出为 .pem 格式时...

keytool -export -rfc -keystore upload.keystore -alias uploadkey -file upload_certificate.pem

...并将其上传到 Google Play。

在 Play 管理中心点击Update,然后点击Continue

Play 商店现在应该可以接受您的 .aab 文件了。

配置 Unity

​​>

希望您的项目现在已设置为使用您刚刚创建的上传密钥进行签名。

请确保自己设置包名称,方法是转到 Player SettingsOther Settings Override Default Package Name 。仅以小写字符输入适当的内容,默认包名称具有大写字符,我认为这只是在乞求问题。您以后无法更改此设置,否则您必须创建一个新的 Play 商店条目,因此请确保它是可供客户查看的内容,即 com.yourcompany.gamename

在播放器设置中启用 64 位构建也是一个好主意,否则,google play 稍后会抱怨。将Scripting Backend切换为IL2CPP,然后勾选ARM64

在构建设置中勾选Build App Bundle

单击Build 并构建您的.aab 文件

然后将其上传到 Google Play 控制台:

如果幸运的话,一切都很顺利,您可以点击保存并准备开始测试您的应用。

如果没有,您可能会收到有用的错误消息,在这种情况下,只需按照它们进行操作,如果没有,它们实际上是非描述性的(例如“无法上传。再试一次。”),然后尝试暂时上传 .相反,apk 有时会提供更好的错误消息,然后在您解决问题后切换回 .aab。

【讨论】:

以上是关于如何使用 Play 应用签名和应用程序包设置 Unity 应用程序并将其部署到 Google Play?的主要内容,如果未能解决你的问题,请参考以下文章

无法通过 fastlane 使用 Google Play 应用签名将 android 包上传到 Google Play

我们可以在 Google Play 商店上签名的应用程序包后更新签名的 APK

Google Play:捆绑包未签名

如何启用 Google Play 应用签名

在没有“应用签名”的情况下为 Google Play 商店中的应用设置新的上传密钥

使用上传密钥为您的 Flutter 应用签名(Google Play 的应用签名)