Google Play上传自己的签名zip,生成上传签名文件(最新),报错(已解决方案)

Google Play上传自己的签名zip,生成上传签名文件(最新),报错(已解决方案)

在这里插入图片描述

怎么解决自签名和google自动签名不一致的问题那?

那先继续往下看,了解使用google play, 平台给出的方法 可以直接升级签名 ,简单的说就是替换google 签名为自己的签名。

Google Play 介绍

Google Play,也被称为Play Store(Play商店),是由Google公司经营开发的数字化应用发布平台。以下是关于Google Play的详细介绍:
用户可以在兼容的Android设备上通过Google Play浏览、下载和使用各种应用程序。
Google Play不仅提供应用和游戏,还包含数字媒体内容,如电子图书、音乐、影视剧集等。
Google Play服务是Google提供的一组应用程序接口(API)和服务,旨在提升Android应用的体验和质量。这些服务包括身份验证、联系人同步、用户隐私设置更新,以及为应用和游戏提供更佳的体验。
Google Play游戏服务为Android、ChromeOS和Windows平台上的游戏提供社交功能和跨平台支持。它允许开发者为游戏添加社交互动、查看游戏内容统计数据,并在多种设备上提供游戏内容。
此外,Google Play还提供了一系列工具和API,帮助开发者构建、测试、发布和管理应用和游戏,包括Play Integrity API、Reporting API等,以增强应用的安全性、质量和用户信任。

产生背景

Google Play源自三种不同的产品:Android Market、Google Music和Google eBookstore。Google公司于2008年8月28日宣布推出Android Market作为Android设备的应用程序商店,成为供用户下载应用的中心渠道,并在10月22日向用户开放。Google eBookstore于2010年12月6日推出,首次推出时有300万本电子书,成为“世界上最大的电子书集”。2011年11月,Google推出Google Music,这是后来Play商店中提供音乐购买的部分。2012年3月,Android Market更名为Google Play。2012年3月6日,Android Market,Google Music和Google eBooks整合到一个品牌下并将其更名为Google Play。

主要功能

Google Play站点既负责提供应用程序的详细数据,尤其是那些标有“最新软件”、“最高评价付费软件”和“最高评价免费软件”的应用程序的详细资料,同时也可以提供Android的下载(非直接提供apk文件,而是推送到绑定Google账号的Android手机上)。推送是通过一个预载在允许使用Google Play的Android手机上名为“Play商店”的应用程序,用户也可以直接通过该应用程序访问Google Play去浏览、下载及购买各类应用程序。
应用程序本身是自带Android的包装文件的。Google Play本身不负责给用户安装应用程序。应用程序的安装任务由手机内的一个名为“Package Manager Service”的服务来完成。从包装管理器能够直接地看到,如果用户试图下载一个APK文件到手机上,那么应用程序可以被安装到手机内部的存储器中,也可以在特定的条件下被安装到外部存储卡中。

Google Play 服务概览

Google Play 服务在 Android 平台上提供一系列丰富多样的 SDK,可帮助您构建应用、加强隐私保护、提升安全性、吸引用户以及拓展业务。这些 SDK 的独特之处在于,它们只需要在应用中包含瘦客户端库,如图 1 所示。在运行时,客户端库会与 SDK 在 Google Play 服务中的大部分实现和占用空间进行通信。

通过提供共享的客户端实现,Google Play 服务:

有助于优化设备上的资源(如存储空间和内存),以提高应用质量和用户的整体体验。
接收独立于操作系统、OEM 或应用更新的更新,让您的用户更快地收到改进和问题修复。
支持向后兼容 Android 5.0(API 级别 21)且适用于各种外形规格的 SDK,让您能够更轻松地覆盖更多用户。
在这里插入图片描述

Google Play上传app的签名

背景

在谈论 Google Play 上载 App 的签名时,背后的原理和需求主要包括以下几个方面:

  1. 应用身份验证: 应用的签名是用来验证应用身份的重要标识。在 Android 系统中,应用必须使用数字证书对其 APK 进行签名,以便 Android 系统和其他应用可以验证应用的身份和完整性。Google Play 通过验证应用的签名来确保上传的应用是由合法开发者发布的,防止恶意应用和伪造应用的上传。

  2. 应用版本管理: 每个应用的签名是唯一的,而且与应用的版本相关联。通过签名,Google Play 可以识别不同版本的应用,并确保安装更新的应用来自相同的开发者,从而保障用户数据安全和应用来源的可信性。

  3. 应用安全性: 应用签名是确保应用的安全性的重要手段之一。签名可以防止未经授权的应用修改和重新打包已签名的 APK 文件,从而确保应用的完整性和可信性。Google Play 通过验证应用的签名来确保应用的安全性,并拒绝上传或发布未经授权的应用。

  4. 开发者身份验证: 在上传应用到 Google Play 之前,开发者需要使用数字证书对其应用进行签名。这需要开发者拥有有效的开发者证书,并且只有拥有相应签名密钥的开发者才能上传应用。这样可以确保应用上传者是合法的开发者,并且具有发布应用的权限。

总的来说,Google Play 对上传的应用进行签名验证是为了确保应用的身份和完整性,保障用户数据安全和应用来源的可信性,以及确保开发者身份的合法性。签名验证是 Google Play 安全性的重要组成部分,有助于维护 Google Play 平台的信誉和安全性。

原理

Google Play 上传应用的签名原理涉及到应用签名、数字证书以及数字签名验证等相关技术。以下是上传应用到 Google Play 时签名的基本原理:

  1. 应用签名: 在 Android 开发中,每个应用都必须使用数字证书对其 APK 文件进行签名。签名是通过将应用的文件哈希值使用开发者的私钥进行加密而生成的,这个过程称为应用的签名。签名后的 APK 文件包含了应用的数字签名信息。

  2. 数字证书: 数字证书是包含了开发者信息和公钥的数据结构,用于证明签名者的身份和签名的有效性。在 Android 开发中,通常使用 Java Keystore 文件(.jks)存储开发者的数字证书。开发者可以使用 keytool 工具生成和管理数字证书。

  3. 上传应用到 Google Play: 在上传应用到 Google Play 之前,开发者需要对应用进行签名,并生成一个签名后的 APK 文件。这个 APK 文件包含了应用的签名信息,可以用于验证应用的完整性和身份。

  4. 签名验证: 在上传应用到 Google Play 时,Google Play 会对应用的签名进行验证,以确保应用的身份和完整性。Google Play 会检查应用的签名是否与开发者账号中关联的数字证书相匹配,并验证签名的有效性和应用的完整性。只有通过了签名验证的应用才能被上传和发布到 Google Play 上。

  5. 应用更新: 当开发者上传新版本的应用时,Google Play 会对新版本的应用进行签名验证,并与之前版本的签名进行比较。只有当新版本的应用的签名与之前版本的签名相匹配,并且通过了签名验证,才能被视为合法的更新版本,并且可以被用户安全地下载和安装。

总的来说,Google Play 上传应用的签名原理是通过使用开发者的数字证书对应用进行签名,并且通过验证签名的有效性和应用的完整性,确保应用的身份和安全性。签名验证是 Google Play 保障应用来源和安全性的重要措施,有助于维护平台的信誉和安全性。

在谷歌上传新的app的时候,上传自己签名时,命令跟之前不同(如下图–最新命令):

在这里插入图片描述

按照上述图片中的步骤来:

1、下载加密公钥(encryption_public_key.pem文件)
2、下载pepk工具(pepk.jar)
3、执行生成签名文件的命令

报错信息如下:

Error: Unable to export or encrypt the private key
java.security.NoSuchAlgorithmException: Cannot find any provider supporting RSANE/OAEPWithSHA1AndMGF1Padding
        at java.base/javax.crypto.Cipher.getInstance(Cipher.java:574)
        at com.google.wireless.android.vending.developer.signing.tools.extern.export.ExportEncryptedPrivateKeyTool.encryptPrivateKeyWithCkmRsaAesKeyWrapEncryption(ExportEncryptedPrivateKeyTool.java:284)
        at com.google.wireless.android.vending.developer.signing.tools.extern.export.ExportEncryptedPrivateKeyTool.run(ExportEncryptedPrivateKeyTool.java:213)
        at com.google.wireless.android.vending.developer.signing.tools.extern.export.ExportEncryptedPrivateKeyTool.main(ExportEncryptedPrivateKeyTool.java:165)

解决方案如下:

重新安装OpenJDK 20.0.2(和配置环境变量),再次运行命令即可成功

点击OpenJDK 20.0.2下载

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@²⁰²⁴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值