Android 应用程序签名
更新时间: 2024年7月31日
提交应用审核前,您必须使用 Android 证书为发行版应用签名。
Android 使用数字证书(又称为密钥库)来以加密形式验证应用程序作者的身份。所有 Android 应用程序都必须使用数字证书签名,才能在 Android 设备上安装和运行。
在提交应用程序供 Meta 审核前,所有开发者都必须创建自己独立的数字签名,并为其应用程序签名。如要了解更多信息,请在 Android 文档中查看
为应用签名和
apksigner。
请务必保存好用于应用程序签名的证书文件。您的应用程序的全部后续更新都必须使用同一证书文件签名。
Meta Quest 目前要求使用
3 种 APK 签名方案中的 v1 签名方案或 v2 签名方案。虽然目前不强制要求使用 v3 签名方案,但是我们也允许额外使用 v3 签名方案为应用签名。您应根据应用的目标设备来决定使用哪一版本的签名方案:
| 目标设备 | 签名方案版本 | 更多详情 |
|---|
Meta Quest/Meta Quest 2 | v2 签名方案和 v1 签名方案 | |
Go | v1 签名方案 | |
Go 和 Meta Quest | 使用 v1 方案签名;但如果应用使用头部追踪功能,就要使用 android:required="false" 标记清单文件 | |
您可以使用 apksigner 工具来验证 APK 签名。如要验证签名,请使用以下命令:
$ apksigner verify --verbose ~/path-to-apk/app-name.apk
您应该会查看到与以下内容类似的输出结果:
Verifies
Verified using v1 scheme (JAR signing): true
Verified using v2 scheme (APK Signature Scheme v2): true
Verified using v3 scheme (APK Signature Scheme v3): false
Number of signers: 1
在 Unity 中设置 Android 应用程序签名
Unity 默认使用临时调试证书自动为 Android 应用程序签名。在构建最终发布的编译版本前,新建一个 Android 密钥库,并通过“Use Existing Keystore”(使用已有密钥库)选项分配该密钥库。该选项位于
Edit(编辑)> Project Settings(项目设置)> Player(玩家)> Publishing Settings(发布设置)中。如要了解更多信息,请在 Unity 文档中查看
Android 玩家设置:发布设置。
GitHub 中的最新版 Unreal Engine 支持 v2 签名方案。如果您使用旧版 Unreal,并计划发布 Meta Quest 应用,则需要编辑清单文件,以使用正确的签名方案,或手动修正正在使用的 Unreal 版本,从而为应用正确签名。如要了解更多信息,请在 Unreal 文档中查看
为要发布的项目签名。
如果您没有 Android 密钥库,请按照上方链接的内容,根据您偏好的游戏引擎平台的指示创建自己的密钥库,或者在 Android 开发者网站查看
“为应用签名”页面,以便使用 Android Studio 生成密钥库。