使用adb安装的Apk会从playstore接收更新吗?

时间:2013-05-23 07:52:27

标签: android google-play

我创建了一个apk并使用adb在我的手机上安装了本地副本,后来我在市场上保留了相同的apk。

现在,

  1. 我可以在设备中安装这两个应用程序吗?
  2. 安装市场应用程序时,是否会显示我更换旧应用程序?
  3. 一个月后,我对市场进行了更新 - 我的设备中仍有相同的本地apk - 我是否从市场获得更新?
  4. Sreeram

3 个答案:

答案 0 :(得分:5)

几天前,我不得不测试我公司的Play商店更新机制。我的汇总结果导致了以下条件的Play商店更新:

  • 两个应用的包名必须相同。
  • 为了能够更新apk(与更新源无关),这两个apk的签名都需要匹配。
  • 市场的android:versionCode apk需要高于设备上安装的apk。

让我快速解释一下结果。首先,包名是android OS用来确定apk是否相同的值。 apk的签名密钥证明开发人员(或签名者)是相同的。如果你想知道apk有哪个版本,android:versionCode是要检查的简单值。

最后,回答你的问题:

  

1)仅使用不同的包名称。

     

2)只有相同的包名和签名。如果商店android:versionCode高于安装的商店,商店将提供更新apk。

现在有趣的部分:

  

3)是的,你确实得到了更新!这与之前描述的行为相同。


修改 这里是我原始结果数据的图表:

|Old source|Old version|New source|New version|Reinstall result|Store update available?|
|----------|-----------|----------|-----------|----------------|-----------------------|
|Store     |10         |Device    |5          |fail            |---                    |
|Store     |10         |Device    |10         |success         |no                     |
|Store     |10         |Device    |15         |success         |no                     |
|Device    |5          |Store     |10         |success         |yes                    |
|Device    |10         |Store     |10         |not possible    |no                     |
|Device    |15         |Store     |10         |not possible    |no                     |

答案 1 :(得分:1)

  

我可以在设备中安装这两个应用程序吗?

没有。如果您使用相同的软件包名称,则会尝试替换现有的应用程序,前提是这两个应用程序都使用相同的密钥进行签名。

  

安装市场应用程序时,它会显示我更换旧的   应用

不,如果您使用相同的密钥对应用进行签名。如果您使用不同的密钥对应用程序进行签名(本地和Google Play),则无法覆盖现有应用。尝试安装时会出现“SIGNATURE MISMATCH”错误。

  

一个月之后,我对市场进行了更新 - 我仍然有同样的看法   我的设备中的本地apk - 我从市场获得更新吗?

您将无法接收自动更新,但如果您使用相同的密钥对应用进行了签名,则Google Play应用会识别您已拥有该应用的版本,并且您可以手动更新。

答案 2 :(得分:0)

您应该从Market重新安装,然后您将获得更新,如果您尝试从市场“更新”,您的设备将卸载您的设备并将从0下载应用程序安装。

您可以阅读西班牙语博客......也许您可以翻译它。 Auto-Update-OutMarket APP