238

I'm trying to publish a new version of my Android app to Google Play and get the following error?

This configuration cannot be published for the following reason(s): Version 1 is not served to any device configuration: all devices that might receive version 1 would receive version 4

I don't understand it. What does it mean?

enter image description here

4

17 回答 17

304

当我在短时间内发布了两个 APK(版本 3 和版本 4)时,这发生在我身上。单击版本 3 旁边的下拉列表中的“停用”似乎可以修复它。

我的猜测是,这是一条措辞非常糟糕的错误消息,意思是“您的原始 APK 尚未发布到所有更新服务器,因此其中一些可能会完全错过该版本”。但这有点猜测。

于 2013-07-29T22:21:16.507 回答
115

出于某种原因,当您上传新的 APK 而不立即点击“发布”(您可能第一次点击保存草稿)时,Google 认为您想同时发布 BOTH apk

当您有多个用于不同配置的 APK 时,通常需要这样做(例如:一个用于 android 2.x 的版本和另一个用于 3+ 的版本,或者一个用于平板电脑的版本和另一个用于手机的版本等......)

但是,在您的情况下,您只是上传升级,并且希望它替换您以前的 APK。

解决

  1. 点击右上角的切换到高级模式
  2. 点击Action -> Move on the OLD APK 并选择“ Deactivate
  3. 该错误应该会消失,您应该会在“其他 APKS”中看到您的旧 apk,并且新的 apk 已准备好发布。
  4. 只需单击发布以使您的更改生效并等待它们传播。

谷歌警告具有误导性。希望这能澄清一下。

于 2013-12-03T15:04:55.793 回答
9

我用我的应用解决了同样的问题。我必须从 1.0 版上传到 2.0 版。- 我已经上传了 Beta 版的 v2.0。- 上传时,我已停用 PROD 中的 v1.0。- 下一步是将 v2.0 从 BETA 移至 PROD。- 然后,PUBLISH 按钮被激活以完成该过程。我希望它有帮助。!

于 2013-08-14T22:07:04.317 回答
6

@Chris 的解决方案是正确的。但消息的真正含义是:

  1. 版本 1 和版本 4 具有相同的配置:相同的 API 级别,相同的屏幕分辨率......基本上清单中的所有内容......

  2. 所以这意味着任何可以安装版本的设备也可以安装版本4。

  3. 现在一切都清楚了:由于 version4 具有更高的 versionCode,因此每个设备都会收到 version4 而不是 version1。

没有任何意义仍然将版本 1 “投入生产”。在任何情况下,任何设备都不会收到此版本。所以你应该“停用”它。

于 2014-01-27T13:01:59.053 回答
2

这可能是一个 hack,但您可以通过将分阶段部署到 1-50%,然后将其增加到 100% 来解决这个问题。

在这种情况下,错误消息不会阻止发布您的应用程序,您也不必停用任何内容。

于 2015-01-09T09:05:37.287 回答
1

这纯粹是猜测,但您是否上传了以前的版本?如果是这样,可能是它marketcode设置为比您的新版本更高的值,例如 4

于 2013-04-17T13:07:16.093 回答
1

我遇到了类似的问题,但是因为我以前的版本有一个较低的最大 andorid api,所以我不允许恢复到以前的版本。

最后对我来说,这是一个 Eclipse 的问题,它没有将更改保存到清单文件中。我重新启动了eclipse,保存了我的项目,制作了一个apk,然后它就可以工作了。如果上述答案失败,也许值得一试。

于 2015-06-14T15:22:04.657 回答
0

我刚刚切换到基本视图。它会立即用新版本自动替换当前版本。这当然不适合每个应用程序部署场景。但在大多数(简单)情况下应该没问题。

于 2013-09-08T21:08:54.637 回答
0

我猜控制台告诉你你有两个版本支持相同的设备,所以没有理由同时使用这两个

解决方案:删除旧版本...
或者
如果您的旧版本支持特定设备,请标记并控制台将接受它

于 2014-11-08T15:38:50.660 回答
0

您一次只能有一个 APK 在生产中。在上传之前,您必须停用当前的。alpha 和 beta 测试 APK 的组合也是如此 - 您只能发布一个 APK 进行测试。

我同意错误消息的措辞令人震惊!

于 2013-09-17T20:34:43.847 回答
0

我有同样的问题,但我在我的 APK 文件上执行了以下命令

jarsigner -verify -verbose -certs Myapp.apk

然后我将新的 APK 上传到 Play 商店并轻松发布。

于 2014-06-22T10:30:27.510 回答
0

我遇到了同样的问题,我只是停用了当前处于活动状态的旧 apk,然后上传新 apk。它解决了我的问题

于 2017-09-13T06:43:40.497 回答
0

就我而言,旧版本的 apk 已在 beta 测试中发布。当我试图用新的 apk 更新我的应用程序时。

刚刚将我的新 apk 移至 beta 测试,并从 beta 测试中取消发布旧 apk。

然后最后将新的 apk 从 beta 移动到 prod。

于 2017-03-29T11:48:45.117 回答
0

我在第一次上传 APK 时也遇到了这个问题,但在查看 APK 详细信息时我注意到 API 级别 18-17。因此,我将此代码添加到 AndroidManifest.xml 以指定最高 API 级别

<uses-sdk android:minSdkVersion="18"
        android:targetSdkVersion="23"
        android:maxSdkVersion="23" />

这样做之后,问题就解决了:)

于 2016-07-28T01:54:42.243 回答
-1

I had the same issue, but I resolved by Block Lint Errors.

See the Lint Error page, right corner packager icon, click there and block package. When you click for leaving lint error, the application make export singed application package.

enter image description here

于 2014-06-26T10:11:05.293 回答
-1

要解决此问题,请执行以下操作:

  1. 删除处于草稿模式的新 apk
  2. 清除浏览器的历史缓存或使用其他浏览器重新上传apk
于 2014-04-23T13:29:59.157 回答
-2

它发生在我身上,当我发布新的 APK 时,不小心关闭了浏览器窗口而没有完成提交。

于 2016-01-18T15:29:32.557 回答