2017-02-23 88 views
21

我在PlayStore上有一个现有的应用程序。我正在发布新版本的应用程序分阶段发布。但是,由于“完全隐藏的APK”错误,我无法发布该应用。谷歌播放 - 完全阴影apk

Fully shadowed APK error

到目前为止,我还没有发现任何文件,至于如何解决这个错误。其他人面对这个?

+0

可能是版本代码旧版本比较Play商店中的版本code.check两个版本的代码 – Hanuman

+0

@Hanuman我三重检查这一点。版本代码和版本号都更大。 –

回答

6

更新: - 与Google Play控制台团队的Google员工就此问题进行了对话。我当时的一个误解是,如果你想分阶段推出,你需要保留一个APK。我与他讨论过这件事,他澄清说这不是必要的。即使在分阶段发布时,如果没有保留的APK,Google play也会为访问应用页面的用户显示安装选项。希望这可以解决面临类似问题的人的疑虑。

我有同样的问题,我没有点击以前版本的“保留”,并上传了一个新的,然后“开始滚动”按钮变成可点击和完成修复!^_^

+2

这就是我们现在的工作,希望能有更好的解决方案被人知道,这感觉就像一个黑客而不是解决方案。 –

+0

哪个频道?生产/ beta/alpha? –

+1

我看到这是公认的答案,但我不明白你实际上做了什么来使它工作。不要点击以前版本的“保留”是什么意思?你在哪里看到这个'保留'选项?我去我的应用程序发布,浏览一个apk,上传它然后审查,我看到错误。我没有获得保留或任何地方不保留选项。 –

6

注意:此解决方案适用于发布的时间,如果将来无法正常工作,请不要认为它是错误的,因为事情随时间而改变。

您必须在上传适用于我的新APK时停用以前的版本。只需停用以前的版本并上传一个新的APK并将其推出以进行制作。

在您的发行经理
+0

作为最后的手段,我做到了这一点,它的工作。不过,我想要有一个我不能做的分阶段推出。关于这个错误的任何想法? –

+0

我认为他们现在只允许一个活动的APK,它是最新版本的代码,或者可能是它的一个bug,但我不认为它是一个最可能只限于一个bug的bug单次活动APK一次。 –

+0

我明白,但在这种情况下,分阶段推出工作将如何进行?分阶段发布要求应用的旧版本在Play商店中处于活动状态,不是吗? –

1

你看到你的最后上传的APK,并在您的APK你看到这个词保留点击它向下滚动页面,那么你看到停用选项,然后点击它然后再上传新的apk第n保存到草稿并检查它然后推出,然后等待。

14

Play控制台有一个错误,这就是为什么它不起作用。这是解决方法:

说,你有两个版本:

  1. Beta版:29
  2. 阿尔法:以前的版本29,但现在是空的:“晋升为测试版”它说。你要上传的版本30

那么做到这一点:

  1. 创建一个新的Alpha测试版,版本30,并停用之前的APK。当您尝试将其展开时,它会发生错误全屏阴影APK。
  2. 回到页面,现在删除版本30.将选择版本29,单击保存并开始滚出到Alpha。这只会失效29.
  3. 为30创建一个新的Alpha版本,它现在应该工作。
+0

大声笑,我们面临同样的问题,并做了同样的..和问题解决。 似乎玩商店发布管理器有一些错误 –

6

对我来说,它的工作方式如下:

  • 首先发送一个推出仅要停用的版本。
  • 其次,发布您想要发布到Beta的版本。

似乎在某些情况下Google Play无法同时处理停用和发布。

+0

这是我的情况,谢谢! – Starwave

+0

也为我工作。一个主要的问题是错误消息是非常无益的。而且我也没有在帮助部分看到这一点。最重要的是,我不得不将我的浏览器切换到英文,以便错误消息可搜索...叹... – user3533716

+0

我实际上写了支持,让他们知道错误,他们告诉我它已发送给团队。是否会导致修复,不能说。 – kikoso

3

这里遇到了同样的问题,最有可能是新发布管理器带来的问题。

感觉就像之前的版本(已经在prod中的版本)以某种方式卡在alpha中,阻止了新版本的推出。

谷歌支持联系并等待 分辨率(我的工作与+ 25millions下载一个应用程序,这个问题真的是什么大不了的事情,希望谷歌会照顾它真的很快)

在此期间,我们从未使用过测试版频道,所以我们通过使用它来解决了我们的问题。

+0

我们遇到同样的问题 - 但我们通常会上传到测试版然后发布到产品。升级到生产现在无法正常工作,并显示“Fully Shadowed apk”错误。我已经上传到了alpha版 - 现在等了20分钟,看看我是否可以将它推广到生产版(这实际上是一个PITA,因为我们的QA是在beta版频道上设置的,我不想花时间设置alpha频道现在) –

+0

从Alpha通道推广到生产似乎已经奏效。希望测试版频道不会长久保留FUBAR'd –

+0

我们一直在等待Google支持的答案,现在已经有数周了,希望您能有更好的运气。如果您找到永久性解决方案,请更新答案。 –

0

我们遇到了这个问题以及拆分APK。我们分配的版本代码为每个ABI具有以下gradle这个(简体):

ext.abiCodes = ['universal': 0, 'arm64-v8a': 1, 'armeabi-v7a': 2, 'x86': 3, 'x86_64': 4, ...] 

android { 

    applicationVariants.all { variant -> 

    variant.outputs.each { output -> 
     def abiName = output.getFilter(OutputFile.ABI) 
     def abiVersionCode = project.ext.abiCodes.get(abiName) 

     output.versionCodeOverride = variant.versionCode * 100 + abiVersionCode 
     ... 

随着我们将这些APK:

| ABI  | Version Code | 
|-----------|--------------| 
| universal | v100   | 
| arm64-v8a | v101   | 
| arm64-v7a | v102   | 
| ...  | ...   | 

而我们得到的APK V101这个“完全盯梢APK”错误。原因是任何位于arm64-v8a的设备都可以安装v102,因为它是向后兼容的。

将版本代码armeabi-v8a高于arm64-v7a后问题解决。

ext.abiCodes = ['universal': 0, 'arm64-v7a': 1, 'armeabi-v8a': 2, 'x86': 3, 'x86_64': 4, ...] 

您应该留意这一点。

+0

你是否可以上传一个支持X abis的通用apk,如果你还有X个支持一个abi的机器人?我必须将无用的armeabi包含在我的通用中,但不能将其拆分,以包含没有完全隐藏的错误的通用。 – sbaar

+1

@sbaar是的,这就是我们为我们的版本所做的。我们包括通用和分裂的apks。 –

+1

@sbaar这里是我们的Gradle文件的更完整版本,不知道它是否有帮助:https://stackoverflow.com/a/44359115/1035008 –

0

确保Google Play控制台中存在某种错误。在我们的案例中,我们直接在Production中上传了新的APK。点击“审查”按钮引导到“完全隐藏的apk”错误消息。

然后,我们已经做了的APK以下的,我们希望发布和上传的草案中生产:

  1. 从生产中删除它。

  2. 将其上传至Beta版,然后将其删除。

  3. 将其上传到Alpha然后将其删除。

  4. 在生产中再次上传。

在最后一步之后,错误消息不再出现。目前还不清楚哪些步骤有助于解决问题。可能仅仅是删除并重新上传就足够了,但我无法确定,因为我无法再重现它。

祝你好运!我们都需要它在这种情况下:)

4

我有完全相同的问题,并通过在config中使用以下versionCode条目解决它。XML:

<widget id="io.cordova.hellocordova" 
    version="3.1.1" 
    android-versionCode="3001001" 

这里Android系统的versionCode是至关重要的。它必须是一个整数大于与您上传的最后一个APK关联的数字。由于某种原因,我之前的版本在创建一个未被注意的更高数字之间有一个额外的零。由于我无法改变这种情况,因为它发布了我在新版本代码中添加了一个零,并将其替换为3001001而不是300101.

完美工作。

希望有所帮助。

+0

这解决了与我的离子应用程序相同的问题!谢谢:) – wander

0

它说 - 其他APK具有更高版本的代码。所以你可能有一个发布的APK,它的版本码比你的新APK要高。因此,请将您的新APK增加到更高的数字。您可以在Android控制台上看到您的其他APK版本代码。和更改您的​​3210在widget部分

<widget android-versionCode="999" id etc...> 
+0

情况并非如此,问题在于我们保留了apk的较旧版本,导致新APK发布问题。当被问到在Google Play团队工作的Google员工这件事时,他们建议不要保留旧版本的SDK,除非旧版本与当前版本有一些硬件/软件差异。它的目标是比新APK更多/更少的设备。 –

+0

您的错误表示版本中的其他APK具有更高的版本代码。如果这不是问题,那么发布不正确的错误就毫无意义。您必须保留一个APK,否则只有一个版本,因此只有一个版本代码。保留的apk造成的问题是,旧版APK的版本号比新版APK要高。这就是你的错误所说的。 Google Play的答案并未解决错误,只是停止显示,因为只有一个APK,因此没有更高版本的代码。要么这是答案,要么是Google的错误对你说谎 – Jon

+0

正如我所说的,我跟一个Google员工谈过,他接受错误信息令人困惑。他告诉我他会记下这个问题,并简单说明这个信息,不知道这是否完成。正如你会看到许多其他答案一样,这是Play商店的一个bug,而不是应用程序版本问题,如果你看到消息的绿色部分,你会看到v31正在上传,但v30是它的阴影。让我知道是否仍然存在混淆。 –