Почему сборщик мобильных приложений 1С завершает сборку с ошибкой без вывода причин в лог?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При создании автономного APK-пакета с помощью конфигурации Сборщик мобильных приложений разработчики часто сталкиваются с ситуацией, когда процесс прерывается сообщением «Мобильное приложение собрано с ошибками», а основной лог сборки внезапно обрывается на этапе обработки разрешений или распаковки ресурсов. Разберем основные причины такого поведения и способы их исправления.

Причина 1. Несовместимость разрешений с версией мобильной платформы

Проанализируем типовую ситуацию: в конфигурации сборщика включены различные разрешения (доступ к контактам, календарю, push-уведомлениям и локальным уведомлениям), а лог сборки останавливается на строке Обрабатывается разрешение: LocalNotification, Да.

Выясним причину: функциональность Push-уведомлений и локальных уведомлений (LocalNotification) была добавлена разработчиками фирмы «1С» только начиная с версии мобильной платформы 8.3.6. При попытке собрать мобильное приложение на более старой версии платформы (например, 8.3.5) генератор манифеста и сборочные скрипты не могут корректно обработать неподдерживаемые директивы и аварийно завершают процесс.

Для устранения неполадки выполним следующие шаги:

  1. Откроем в сборщике мобильных приложений карточку собираемой конфигурации.
  2. Перейдем в раздел настройки разрешений (разрешения мобильного приложения).
  3. Отключим несовместимые флаги: Локальные уведомления, Push-уведомления, а также мультимедиа или календарь, если они не поддерживаются текущим релизом платформы.
  4. Повторим процедуру сборки или обновим мобильную платформу 1С и дистрибутив сборщика до версии 8.3.6 или выше.

Причина 2. Пробелы и специальные символы в путях к SDK, JDK и Ant

Рассмотрим конфигурацию рабочего окружения. Скрипты сборки крайне чувствительны к путям к системным утилитам:

  1. Java Development Kit (JDK): установка в стандартный каталог C:\Program Files\Java\... содержит пробел в имени папки. Это приводит к тому, что консольные вызовы Ant или утилиты javac/dx прерываются из-за некорректного разбора параметров командной строки.
  2. Android SDK и Apache Ant: пути не должны содержать пробелов, знаков препинания и кириллических символов.

Чтобы избежать скрытых сбоев, укажем пути в коротком формате DOS (например, C:\PROGRA~1\Java\jdk1.8.0_91) либо перенесем JDK, Android SDK и Apache Ant в корень диска (например, C:\Java\jdk1.8.0_91, C:\android-sdk, C:\ant).

Причина 3. Несовместимость версий Android SDK Tools, JDK и платформы

Разберем требования к связке версий компилятора и SDK:

  1. Android SDK Tools и Apache Ant: компания Google исключила поддержку утилит сборки через Apache Ant начиная с версии Android SDK Tools 25.3.0. Если для старых версий мобильной платформы 1С используется сборщик на базе Ant, необходимо убедиться, что в Android SDK установлена версия SDK Tools не выше 25.2.5. При автоматическом обновлении SDK через SDK Manager эти утилиты могут перезаписаться или удалиться.
  2. Версия Java (JDK): для мобильной платформы 1С версий 8.3.5–8.3.7 требуется строго JDK версии 7 (1.7) или совместимая ранняя версия JDK 8 (1.8). Использование более современных версий (JDK 11, JDK 17) вызывает ошибки компиляции исходного кода мобильного ядра 1С.
  3. API Level платформы Android: в Android SDK через SDK Manager должен быть установлен именно тот пакет Platform SDK (API Level), который жестко зафиксирован в требованиях используемой мобильной платформы 1С.

Где найти подробный лог ошибки сборщика

Окно сборщика в пользовательском режиме 1С показывает только высокоуровневые этапы. Если сборка завершилась ошибкой, а в окне 1С нет пояснений, обратимся к файловой системе:

  1. Перейдем в рабочий каталог сборки (параметр Рабочий каталог (и кеш), например, C:\ant).
  2. Найдем каталог временного проекта собираемого приложения.
  3. Откроем текстовым редактором файлы детального протокола: build.log, ant.log или отчет компилятора. В них будет зафиксирован точный текст исключения Java, ошибки слияния AndroidManifest.xml или сбоя компиляции ресурсов.

Альтернатива: использование мобильного приложения разработчика

Если цель заключается в отладке и тестировании логики мобильной конфигурации, собирать автономный APK-файл через сборщик не обязательно. Установим на мобильное устройство готовое Мобильное приложение разработчика (клиент разработчика) соответствующей версии платформы 1С и подключимся напрямую к информационной базе, опубликованной на веб-сервере (Apache или IIS).

← На главную