如何使用相同的密钥库更新从ADB android studio生成的Play商店下载的APK生成的APK

时间:2018-08-05 13:09:23

标签: android android-app-signing

以前通过PlayStore下载的APK可以通过ADB命令由具有相同密钥存储区的android studio生成的APK替换。

但是现在Google应用唱歌后,无法覆盖APK。

如何通过ADB命令从原始APK更新Google派生的APK

2 个答案:

答案 0 :(得分:0)

无法更新的原因是,设备上安装的APK现在已使用上传密钥签名,而Google则使用发布密钥对APK签名,并且如果更新的版本,Android不允许在应用上更新APK未使用同一证书签名。

您有几个可用的选项: -如果您保留了发行密钥的副本,则可以在Studio上继续使用该密钥对APK进行签名以进行本地测试。缺点是您必须构建两个单独的APK:一个要安装在设备上(用释放键签名),另一个要在Play控制台上上传(用上传键签名)。 -重新考虑测试流程,以便仅在给定设备上安装来自Studio或Play单一来源的APK。

希望有帮助。

答案 1 :(得分:0)

@Pierre是正确的。我找到了解决方法。这是

  1. 转到Google Play控制台中的发行版

  2. 创建新版本上传您的APK,然后删除您的版本

  3. 然后转到“工件库”(仍在“发布管理”下)

  4. 在其中找到您的APK,然后单击↓以下载它,然后选择“派生APK”,您可以通过其版本代码进行识别

  5. 这将通过ADB从Google Play更新您现有的APK,没有问题

编辑:基于@Jarvis评论

否,您无法调试从“ Artificat库”下载的APK,如果您希望同时拥有发行和调试版本,建议您根据构建创建不同的软件包名称,则可以使用gradle来完成,例如:

buildTypes {

    release {
        // Yada yada, nothing to add here
    }

    debug {
        applicationIdSuffix '.debug' // This will add .debug to your original package name 
        versionNameSuffix ' - DEBUG' // The will -DEBUG to your version name
    }

}