Сборка мобильного приложения на платформе 1С:Предприятие — это многоступенчатый процесс, который задействует сторонние инструменты: Java Development Kit (JDK), Android SDK и Apache Ant. Малейшее несоответствие в настройках любого из этих компонентов приводит к тому, что процесс прерывается без внятного описания ошибки или с загадочными сообщениями вроде "Ошибка при синтаксическом анализе пакета". В этой статье мы подробно разберем, как диагностировать и устранить основные препятствия на пути к получению заветного файла .apk.
Проанализируем логи сборщика, представленные в обсуждении. Одной из наиболее часто встречающихся проблем является использование системных папок с пробелами в названии (например, C:\Program Files\Java) или путей, содержащих кириллицу (например, C:\Users\Пользователь\Downloads). Утилита Apache Ant, которая управляет процессом компиляции, крайне чувствительна к таким символам в путях командной строки.
Разберем по шагам, как правильно организовать рабочее пространство:
C: отдельную папку с коротким латинским названием, например, C:\MobJava или C:\AndroidBuild.C:\Java\jdk1.8.0_131C:\Android\SDKC:\AntC:\BuildCacheВажный нюанс: Рабочий каталог и каталог кеша также не должны содержать точек в названиях папок (кроме тех, что разделяют расширения файлов). Как показывает практика, наличие точки в названии промежуточной папки может вызвать ошибку "The syntax of the command is incorrect".
Рассмотрим ситуацию, когда сборка завершается успешно (статус BUILD SUCCESSFUL), но при попытке установить полученный .apk на устройство Android выдает сообщение: "Ошибка при синтаксическом анализе пакета".
Выясним причину этого поведения. В сообщениях форума пользователи отмечают, что критическую роль играет Полный идентификатор приложения (Package Name). Рассмотрим правила его формирования:
com.mycompany.myapp).DZ.my.guru приведет к ошибке, в то время как dz.my.guru будет работать корректно.Проверим также "Синоним" конфигурации в самой базе 1С. Если вы собираете приложение, убедитесь, что в свойствах мобильного приложения в конфигураторе указано имя латиницей без спецсимволов. Изменение регистра в идентификаторе на строчный (нижний) — самый простой способ вылечить ошибку синтаксического анализа при установке.
В более новых версиях Android SDK компания Google исключила поддержку Ant, заменив её на Gradle. Однако старые версии сборщика мобильных приложений 1С (особенно серий 8.3.7–8.3.10) продолжают искать скрипты Ant в папке tools\ant.
Если вы видите в логе ошибку: Cannot find C:\...\SDK\tools\ant\build.xml, значит, у вас установлена слишком новая версия Android SDK Tools. Проанализируем, как это исправить:
tools.sdk-tools-windows-2525.zip с официального репозитория Android (или из архивов).tools в вашем каталоге Android SDK и распакуйте туда папку tools из старого архива.После этой манипуляции файл build.xml появится на своем месте, и Ant сможет запустить процесс компиляции ресурсов.
Выбор версии Java — еще один "подводный камень". Несмотря на наличие новых версий (Java 11, 15, 17), мобильная платформа 1С традиционно лучше всего работает с Java 8 (JDK 1.8).
Посмотрим на пример из сообщения №28, где используется jdk-9.0.1. Использование Java 9 и выше часто ломает сборку, так как в этих версиях была изменена структура модулей и удалены некоторые инструменты, на которые полагаются старые скрипты 1С. Если сборка падает на этапе -check-env или при запуске proguard, рекомендуем выполнить следующие действия:
JAVA_HOME не конфликтует с настройками внутри сборщика 1С.При сборке приложения 1С распаковывает картинки для иконок и заставок (Splash Screen). В логах часто мелькают предупреждения ОТСУТСТВУЕТ или ошибки libpng warning: iCCP: Not recognizing known sRGB profile.
Хотя предупреждения о профиле sRGB обычно не блокируют сборку, они сигнализируют о том, что файлы изображений были сохранены с метаданными, которые не нравятся компилятору ресурсов Android. Рассмотрим рекомендации по подготовке графики:
.png.optipng), чтобы избежать предупреждений libpng.Если сборка все равно не идет, проанализируем ситуацию по следующему чек-листу:
MAX_PATH (260 символов). При сборке 1С создает глубоко вложенные временные папки в рабочем каталоге. Если сам рабочий каталог находится по пути C:\Users\Admin\Documents\MyBuilds\..., лимит может быть превышен. Используйте C:\Build\.make.bat и запуск исполняемых файлов в папках SDK..bat) и создание исполняемых файлов в папке TEMP. Попробуйте временно отключить мониторинг или добавить рабочие папки в исключения.Соблюдение этих правил — короткие пути без пробелов, использование JDK 1.8, SDK Tools 25.2.5 и нижний регистр в идентификаторе приложения — позволяет успешно собрать мобильное приложение 1С практически в любой конфигурации системы.