it-roy-ru.com

Google Play - полностью затененный apk

У меня есть приложение в PlayStore. Я выпускаю новую версию приложения как staged rollout. Однако я не могу опубликовать приложение из-за ошибки «Fully Shadowed APK».

 Fully shadowed APK error

До сих пор я не нашел никакой документации о том, как решить эту ошибку. Кто-нибудь еще сталкивался с этим?

33
Rohan Kandwal

Обновление: - Говорил с Googler, работающим с командой консоли Google Play по этой проблеме. Одно заблуждение, которое у меня было в то время, было то, что вам нужно сохранить APK, если вы хотите иметь поэтапное развертывание. Я обсуждал это с ним, и он уточнил, что это не нужно. Даже при поэтапном развертывании, без сохранения APK, Google play покажет вариант установки пользователям, которые посещают страницу приложения. Надеюсь, что это очищает сомнения для тех, кто сталкивается с аналогичными проблемами.

У меня возникла та же проблема, и я исправил ее, не нажимая «Сохранить» для предыдущей версии, и загрузил новую, а затем кнопка «Начать переходить» превратилась в активируемую и готово! ^ _ ^ 

11
apple appala

В Play Console есть ошибка, и поэтому она не работает. Это работа вокруг:

Скажем, у вас есть две версии:

  1. Бета: 29
  2. Альфа: ранее версия 29, но теперь пустая: «Повышен до бета», - говорится в нем. Вы хотите загрузить версию 30.

Затем сделайте это:

  1. Создайте новую версию Alpha с версией 30 и деактивируйте предыдущий APK. Когда вы пытаетесь развернуть его, он выдает ошибки Fully shadowed APK.
  2. Вернитесь на страницу и теперь удалите версию 30. Будет выбрана версия 29, нажмите «Сохранить» и «Начало» развернуть на «Альфа». Это только деактивирует 29.
  3. Создайте новую версию Alpha для 30, она должна работать сейчас.
17
FinHead

Примечание: это решение работает на время, когда оно было опубликовано, если не сработает в будущем, не сочтите его неправильным, потому что со временем все меняется.

Вы должны деактивировать предыдущую версию при загрузке нового APK, который работает для меня. Просто деактивируйте предыдущие версии, загрузите новый APK и разверните его для производства.

9
Zubair Akber

Для меня это работает следующим образом:

  • Сначала отправьте свиток только с версией, которую вы хотите деактивировать.
  • Во-вторых, отправьте в бета-версию с версией, которую вы хотите опубликовать. 

Похоже, что при определенных условиях Google Play не может обрабатывать деактивацию и публикацию одновременно.

8
kikoso

У меня была точно такая же проблема, и я решил ее, используя следующую запись versionCode в config.xml:

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

Здесь Android-версия кода критично. Это должно быть целое число больше чем число, связанное с последним APK, который вы загрузили. По какой-то причине моя предыдущая версия имела дополнительный ноль между созданием большего числа, которое осталось незамеченным. Поскольку я не могу изменить это, потому что он опубликован, я добавил ноль в новой версии кода и сделал его 3001001 вместо 300101.

Работал отлично.

Надеюсь, это поможет.

8
AnR

Возникла та же проблема, проблема, скорее всего, возникла в новом менеджере релизов.

Такое ощущение, что предыдущий выпуск (уже в prod) каким-то образом застрял в альфа-версии, что не позволяет развернуть новый.

Связаться со службой поддержки Google и ждать разрешения (Я работаю над приложением с загрузкой + 25 миллионов, эта проблема действительно серьезная, надеюсь, Google позаботится об этом очень быстро)

Между тем, мы никогда не использовали бета-канал, поэтому мы решили нашу проблему, используя его.

6
Guigui

Проблема:

Этот APK не будет обслуживаться никакими пользователями, потому что он полностью скрыт одним или несколькими APK с кодами более высоких версий.

Разрешение:

Удалите этот APK из своего выпуска или просмотрите коды таргетинга и версии APK, которые вы включили в этот выпуск.

Я получил ту же ошибку при попытке обновить приложение. Проект был старым и был в Eclipse, я исправил его, уменьшив targetdkversion с 27 до 26, потому что импортированная, поддерживаемая Android lib была Android 7.1.1, я не знаю, как она работала, но она работает для меня. : D

3
Rahul Singh

в вашем менеджере релизов вы видите ваш последний загруженный apk, а на вашем apk вы видите Wordretainщелкните по нему, прокрутите страницу вниз, затем вы увидите опцию Деактивировать, затем щелкните по ней, затем загрузите новый apk снова. сохранить в черновик и просмотреть его, затем развернуть и после этого просто подождите. 

3
Master Lalit

Мы столкнулись с этой проблемой и с разделенными 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         |
| ...       | ...          |

И мы получили эту ошибку «Fully Shadowed APK» на APK v101. Причина в том, что любое устройство, которое находится на arm64-v8a, сможет установить v102, поскольку оно обратно совместимо. 

Проблема решена после того, как мы установили код версии armeabi-v8a выше, чем arm64-v7a.

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

Вы должны следить за этим тоже. 

3
Yuchen Zhong

В консоли Google Play наверняка есть какая-то ошибка. В нашем случае мы загрузили новый APK прямо в Production. Нажатие на кнопку «Обзор» привело к сообщению об ошибке «Fully Shadowed apk».

Затем мы сделали следующее с APK, который хотели опубликовать и загрузили как черновик в Production:

  1. Удалить его из производства.

  2. Загрузите его в бета-версию, а затем удалите.

  3. Загрузите это в Альфе и затем удалите это.

  4. Загрузите это снова в Производство.

После последнего шага сообщение об ошибке больше не появлялось. Не ясно, какой из шагов помог преодолеть проблему. Возможно, достаточно просто удалить и загрузить его снова, но я не уверен, так как не могу воспроизвести его снова. 

Желаю тебе удачи! Нам всем это нужно в этом случае :)

1
Ivo Stoyanov

Это говорит - другие APK имеют более высокий код версии. Таким образом, у вас, вероятно, есть выпущенный APK, который имеет более высокий код версии, чем ваш новый APK. Так что увеличьте ваш новый APK до большего числа. Вы можете увидеть ваши другие коды APK версии на консоли Android. И измените свой config.xml в разделе widget

<widget Android-versionCode="999" id etc...>
1
Jon

Это решение этой проблемы . Просто отключите старую версию apk, и вы сможете развернуть новую версию.

0
Brother Apps

Откажитесь от всех приложений и загрузите новое с увеличением кода версии.

0
Mahesh Suthar