当前位置: 首页 > 知识库问答 >
问题:

如何启用Google Play应用程序签名

陶博涉
2023-03-14

我认为很多开发人员都在试图了解更多关于谷歌2017年输入输出上展示的新谷歌游戏应用签名功能。

存储密钥库以在Google Play中对应用程序进行签名的功能可以帮助您安全地存储密钥库,并可以帮助系统根据硬件和操作系统特性优化为每个设备提供的APK。

有关此主题的更多信息,请参见以下官方文档:https://developer.android.com/studio/publish/app-signing.html#google-播放应用程序签名。

使用下面的答案,我将更好地解释上载原始密钥库需要遵循的步骤,以及如何创建新的上载密钥库,从这一点开始,您需要对APK进行签名。

共有3个答案

龙星辰
2023-03-14

在将Android应用程序包文件(APK)迁移到Android应用程序包(AAB)时,将应用程序发布到Play Store中,我遇到了这个问题,并得到了如下解决。。。

构建时。aab文件系统会提示您输入存储密钥导出路径的位置,如下所示:

你会发现谷歌应用签名认证窗口接受它。

之后,您将找到三个单选按钮select**

上传从Android Studio单选按钮导出的密钥

**,它将扩展你的APP签名私钥按钮如下

单击按钮并选择. Pepk文件(我们在生成. aab文件时存储如上)

阅读所有其他选项并提交。

一旦成功,您可以返回应用程序发布并浏览. aab文件并完成RollOut...

@安比尔普拉

印高阳
2023-03-14

有一个简单得多的解决方案,需要一分钟。

  1. google play控制台中,选择发布管理-

完成!

现在,您可以上传您之前生成的版本:)祝你好运!

白昊乾
2023-03-14

在继续之前,请观看Android Developers视频,了解App Signing注册选择的含义:https://youtu.be/odv_1fxt9BI

本指南面向已经在Play Store中拥有应用程序的开发人员。如果你开始使用一个新的应用程序,这个过程会简单得多,你可以从这里开始遵循“新应用程序”一段的指导方针

99%的开发者已经具备的先决条件:

>

  • Android Studio

    JDK 8和安装后,您需要在用户空间中设置一个环境变量,以简化终端命令。在Windows x64中,需要将以下内容添加到环境变量中:C:\Program Files\Java\{JDK_VERSION}\bin。(如果您不知道如何执行此操作,可以阅读我的指南,将文件夹添加到Windows 10Path环境变量)。

    步骤0:打开Google Play开发者控制台,然后转到发布管理-

    接受App Signing TOS。

    步骤1:点击与下图相同的按钮下载PEPK工具

    第二步:打开一个终端,输入:

    java-jar-PATH\u TO_PEPK--keystore=PATH\u TO_keystore--alias=alias\u您使用\u签名\u APK--output=PATH\u TO_输出\u文件--encryptionkey=GOOGLE\u加密\u密钥

    图例:

    • PATH_TO_PEPK=PEPK的路径。您在步骤1中下载的jar可能类似于C:\Users\YourName\Downloads\pepk。适用于Windows用户的jar
    • PATH_TO_KEYSTORE=用于签署发布APK的密钥库的路径。可能是类型为*的文件。密钥库或*。jks或无扩展。类似于C:\Android\mykeystoreC:\Android\mykeystore。密钥库
    • ALIAS_YOU_USE_TO_SIGN_APK=用于签署发布APK的别名
    • PATH_TO_OUTPUT_FILE=带有的输出文件的路径。pem扩展,类似于C:\Android\private\u key。pem
    • GOOGLE_ENCRYPTION_KEY=此加密密钥应始终相同。您可以在应用程序签名页面中找到它,复制并粘贴它。应采用以下格式:EB10FE8F7C7C9DF71502017B0C6471F8BA8170B13049A11E6C09FFE3056A04A3BBE4AC5A955F4BA4FE93FC8CEF27558A3EB9D2A529A2092761FB833B656CD48B9DE6A

    例子:

    java-jar“C:\Users\YourName\Downloads\pepk.jar”--keystore=“C:\Android\mykeystore”--alias=myalias--output=“C:\Android\private\u key.pem”--encryptionkey=EB10FE8F7C7C9DF71502207B00C6471F8BA8170B13049A11E6C09FFE3056A04BBE5A955F4BE93FC8CEF27558A3EB9D2A529A2092761FB833B656CD49DE6A

    按Enter键,您需要按顺序提供:

    1. 密钥库密码

    如果一切顺利,您现在将在PATH_TO_OUTPUT_FILE文件夹中有一个名为private_key.pem的文件。

    步骤3:上传私钥。pem文件单击与下图相同的按钮

    步骤4:使用Android Studio创建一个新的keystore文件。

    您将来需要此密钥库来签署下一版本的应用程序,不要忘记密码

    打开一个Android项目(随机选择一个)。建造-

    现在您应该填写必填字段。

    密钥存储路径表示您将创建的新密钥存储,使用右侧的3点图标选择文件夹和名称,我选择了C:\Android\upload\u密钥。jks(.jks扩展名将自动添加)

    注意:我使用了upload作为新的别名,但是如果您以前使用具有不同别名的相同密钥库来签署不同的应用程序,那么您应该选择以前在原始密钥库中使用的相同别名名称。

    完成后按OK,现在您将有一个新的upload\u键。jkskeystore。你现在可以关闭Android Studio了。

    步骤5:我们需要从新创建的upload\u密钥中提取上传证书。jkskeystore。打开终端并键入:

    keyTools-导出-rfc-keystoreUPLOAD_KEYSTORE_PATH-aliasUPLOAD_KEYSTORE_ALIAS-filePATH_TO_OUTPUT_FILE

    图例:

    • UPLOAD_KEYSTORE_PATH=刚刚创建的上传密钥库的路径。在这种情况下是C:\Android\upload_key.jks
    • UPLOAD_KEYSTORE_ALIAS=与上传密钥库关联的新别名。在本例中是上传。
    • PATH_TO_OUTPUT_FILE=扩展名为. pem的输出文件的路径。类似于C:\Android\upload_key_public_certificate.pem

    例子:

    keyTools-导出-rfc-keystore"C:\Android\upload_key.jks"-别名上传-file"C:\Android\upload_key_public_certificate.pem"

    按Enter键,您需要提供密钥库密码。

    现在,如果一切顺利,您将在文件夹中PATH_TO_OUTPUT_FILE一个名为upload_key_public_certificate.pem的文件。

    第6步:上传upload_key_public_certificate.pem文件,单击与下图相同的按钮

    步骤7:单击应用程序签名页面末尾的注册按钮。

    现在,每个新版本APK都必须在上传到Google Play Developer控制台之前,使用步骤4中创建的upload_key.jks密钥库和别名进行签名。

    更多资源:

    • 关于Google Play应用程序签名的Google文档
    • 表单以请求在丢失上载密钥库时重置该密钥库

    问:当我上传用新上传密钥密钥密钥库签名的APK时,Google Play显示了一个错误,比如:你上传了一个未签名的APK。您需要创建一个已签名的APK。

    答:在构建发布APK时,检查是否使用两个签名(V1和V2)对APK进行签名。请阅读此处了解更多详细信息。

    第4、5、6步是创建上载密钥,该密钥对于现有应用程序是可选的

    “上载密钥(对于现有应用为可选):您在计划注册期间生成的新密钥。在将所有未来的APK上载到Play Console之前,您将使用上载密钥对其进行签名。”https://support.google.com/googleplay/android-developer/answer/7384423

  •  类似资料:
    • 我刚刚开始使用应用程序包。我已经在仪表板的部分设置了两个证书(签名证书和上载证书)。 我已经构建了一个应用程序包,并用上传证书签名,但是当我在下上传包时(这实际上是我切换到应用程序包的原因),它说:

    • 比方说我安装了OracleJDK11(只是为了让事情更简单)。然后我下载了Gluon的JavaFX11,并在JDK上解包。实际上,我在哪里解包JavaFX并不重要(因为我的下一个目标是基于OpenJRE制作我自己的JRE安装程序)。然后我尝试启动应用程序: 我得到了这个: 启动层初始化过程中发生错误java.lang.LayerInstantiation异常:包jdk.internal.jrtfs

    • 我需要在具有自签名证书的Spring Boot 2.0.5应用程序上启用HTTPS,然而,到目前为止,我在配置中发现的所有内容都与设置一个名为的属性有关,但在这个Spring Boot版本上,该属性似乎不推荐使用...在Spring Boot应用程序上启用HTTPS还有其他方法吗?

    • 2.6.2.应用程序签名 Android 程序在安装前必须进行签名。在开发时,我们可以使用开发者密钥(debug key)作为临时签名——这个密钥已经包含在开发环境中。 但作为商品发布时,你就必须使用自己的密钥进行签名。关于签名的具体步骤可以在 Android 网站的Signing Your Application页面找到。在后面我们将具体地讨论这个话题。

    • 问题内容: 如何重新启动Java AWT应用程序?我有一个附加了事件处理程序的按钮。我应该使用什么代码来重新启动应用程序? 我想做与应用程序中相同的事情。 问题答案: 当然,可以重新启动Java应用程序。 以下方法显示了一种重新启动Java应用程序的方法: 基本上,它执行以下操作: 查找Java可执行文件(我在这里使用了Java二进制文件,但这取决于您的要求) 查找应用程序(在我的情况下是一个ja

    • 问题内容: 我尝试使用范围类型APPLICATION和带有@ Create,@ Beg的方法来注释类,但这似乎不起作用。 我想要的是在应用程序启动时立即启动无限循环。 问题答案: 如果希望在初始化后立即执行方法,则可以使用以下注释: