При попытке опубликовать мобильное приложение, созданное на платформе 1С, в Google Play разработчики часто сталкиваются с ошибкой: "Этот выпуск не соответствует требованиям Google Play к 64-разрядным приложениям". Эта проблема стала актуальной с 1 августа 2019 года, когда Google ввел обязательное требование поддержки 64-битной архитектуры (arm64-v8a, x86_64) для всех новых приложений и обновлений. Давайте подробно разберем, как решить эту задачу и какие сопутствующие проблемы могут возникнуть на этом пути.
Проанализировав ситуацию, выясним причину. Проблема заключается в том, что версии мобильной платформы 1С до 8.3.15 (например, 8.3.14) не содержали необходимых компонентов и заготовок для сборки 64-разрядных приложений. Сборщик мобильных приложений на старых версиях генерировал APK-файлы только для 32-разрядных архитектур (ARM и x86), что и приводило к отклонению релиза в Google Play Console.
Главный и обязательный шаг для решения проблемы — это обновление. Необходимо использовать:
После перехода на 15-ю платформу сборщик сможет формировать APK-файлы для 64-разрядных архитектур. Однако сам процесс перехода может вызвать ряд новых ошибок сборки. Рассмотрим их по порядку и найдем решения.
Переход на новую версию платформы — это не просто обновление. Часто возникают ошибки, связанные с изменениями в самой платформе или с процессом настройки сборщика. Разберем самые распространенные из них.
При попытке сборки на новой платформе вы можете столкнуться с ошибкой вида:
[ERR] Используемая версия мобильной платформы не поддерживает использование разрешений в мобильной конфигурации. Мобильная платформа: 8.3.15.59
{CommonModule.MobileApplicationBuilding.Module(1323)}: Raise NStr("ru = 'Используемая версия мобильной платформы не поддерживает использование разрешений в мобильной конфигурации...
Эта ошибка указывает на то, что в процессе сборки не был найден файл permissions.xml, и сборщик ошибочно считает, что используется старая версия платформы, не поддерживающая новую систему разрешений.
Причина и решение:
Проблема кроется в том, как "Сборщик мобильных приложений" обрабатывает файлы мобильной платформы. Вероятнее всего, вы обновили сам сборщик, но он продолжает использовать "старые" данные о платформе, которые были загружены и обработаны до его обновления.
Чтобы это исправить, выполним следующие шаги:
mobile_8_3_15_59.zip). Не нужно предварительно извлекать из него папки Android и iOS. Сборщик должен сам обработать весь архив, так как в нем содержится служебный файл maker-settings.xml, который необходим для корректной идентификации версии платформы и ее возможностей.Еще одна распространенная ошибка при сборке конфигурации, разработанной на старой платформе (например, 8.3.12), с помощью нового сборщика на платформе 8.3.15:
Мобильная конфигурация использует разрешение, которое не поддерживается используемой мобильной платформой: Multimedia
Причина и решение:
В платформе 8.3.15 была переработана система разрешений. Общее разрешение Мультимедиа было признано устаревшим и заменено на более гранулярные и конкретные, такие как Камера, Микрофон, Чтение данных пользователя и т.д. Ваша старая конфигурация все еще ссылается на несуществующее разрешение.
Исправляется это непосредственно в конфигурации:
Мультимедиа.Камера.После успешной сборки и загрузки APK-файлов в Google Play вы можете увидеть предупреждение:
Unoptimised APK
Warning: This APK results in unused code and resources being sent to users. Your app could be smaller if you used the Android App Bundle.
При этом кнопка начала публикации ("Start Roll-out...") может быть неактивна. Это часто вводит в заблуждение, заставляя думать, что проблема в APK-файлах.
Причина и решение:
Это всего лишь информационное предупреждение, а не блокирующая ошибка. Google рекомендует использовать современный формат Android App Bundle (.aab) вместо нескольких APK, так как это позволяет оптимизировать размер приложения для конечного пользователя. Сборщик 1С более поздних версий (например, для платформы 8.3.18+) также умеет создавать `.aab` файлы.
Если вы используете multiple-APK, это предупреждение можно игнорировать. Неактивная кнопка публикации связана не с ним, а с тем, что вы не завершили все обязательные шаги по настройке релиза в Google Play Console.
Что нужно сделать:
Когда вы генерируете отдельные APK-файлы для разных архитектур, их нужно правильно загрузить в один релиз.
В результате в вашем релизе будут присутствовать оба файла. Google Play автоматически определит архитектуру устройства пользователя и доставит ему соответствующий, оптимизированный APK.