Сборка мобильного приложения на платформе 1С:Предприятие — это многоступенчатый процесс, требующий идеальной синхронизации версий различных компонентов: самой мобильной платформы, Сборщика мобильных приложений, Java Development Kit (JDK) и Android SDK. Ошибка «Target "release" does not exist in the project "1cem"» является одной из самых коварных, так как она не указывает напрямую на виновника, а лишь констатирует факт: скрипт сборки Apache Ant не смог найти стандартный сценарий для создания релизного пакета.
В этой статье мы подробно разберем, почему возникает эта проблема, проанализируем взаимосвязь инструментов и составим пошаговый план по восстановлению работоспособности среды сборки.
Для начала проанализируем ситуацию. Когда мы нажимаем кнопку «Собрать» в Сборщике мобильных приложений, программа создает временный рабочий каталог, куда распаковывает шаблоны мобильной платформы и генерирует конфигурационный файл build.xml. Этот файл управляется инструментом Apache Ant.
Файл build.xml не содержит в себе всех инструкций по сборке Android-приложения. Вместо этого он импортирует стандартные правила из состава Android SDK (обычно это файл tools/ant/build.xml внутри папки SDK). Если этот импорт не срабатывает, или если импортируемый файл пуст/отсутствует, Ant выдает ту самую ошибку: проект «1cem» (имя по умолчанию для мобильных проектов 1С) не содержит цели (target) с именем «release».
Рассмотрим основные факторы, которые приводят к разрыву этой цепочки:
Ant из состава SDK Tools, отдав предпочтение Gradle. Сборщик 1С старых версий (до 2.0.7) об этом «не знает» и продолжает искать файлы Ant, которых в системе больше нет.Первым делом проанализируем версию Java. Для стабильной работы Сборщика мобильных приложений версий 2.0.2–2.0.6 и мобильных платформ 8.3.8–8.3.12 необходимо использовать строго JDK 1.8 (она же Java 8).
Почему это критично? В Java 9 и более новых версиях была изменена модульная система, что привело к неработоспособности многих внутренних библиотек, на которые опирается Apache Ant при взаимодействии с Android SDK. Если в вашем логе фигурирует C:\Program Files\Java\jdk-10, сборка гарантированно завершится ошибкой.
Выполним следующие действия:
JAVA_HOME, указав путь к новой папке, например: C:\Program Files\Java\jdk1.8.0_151.Теперь разберем ситуацию с Android SDK. Ошибка «Target release does not exist» чаще всего возникает из-за того, что Сборщик обращается к папке SDK, а там отсутствуют необходимые Ant-скрипты. Если вы устанавливали SDK через Android Studio, то, скорее всего, у вас установлена версия SDK Tools 26.x.x или выше.
Для решения проблемы нам нужно выполнить «даунгрейд» (откат) инструментов:
Ant.D:\AndroidSDK).android.bat в папке tools) доустановим необходимые компоненты:
Важный момент: Никогда не соглашайтесь на предложение обновить «SDK Tools» до версии 25.3.0 или выше, если вы планируете собирать старые мобильные приложения 1С.
После того как окружение подготовлено, вернемся в интерфейс Сборщика мобильных приложений. Проверим настройки путей. Обратите внимание на наличие пробелов в путях. Apache Ant иногда некорректно обрабатывает пути типа C:\Program Files\..., поэтому крайне рекомендуем перенести все инструменты в папки без пробелов.
Пример правильной настройки путей:
D:\Android_SDKC:\Java\jdk1.8.0_151C:\Ant\apache-ant-1.9.9Если вы используете платформу 8.3.10 и выше, настоятельно рекомендуем обновить сам Сборщик мобильных приложений до версии 2.0.7 или 2.0.8. Эти версии более устойчивы и содержат исправления для работы с новыми версиями Android SDK, хотя требование к JDK 1.8 для них часто остается в силе.
Если ошибка сохраняется, проанализируем файл make.bat или build.xml, который генерируется в рабочем каталоге (путь к нему виден в логе сборки). Попробуем найти в нем строку импорта:
<import file="${android.sdk}/tools/ant/build.xml" />
Если этот файл по указанному пути отсутствует в вашей папке Android SDK, то Ant не сможет инициализировать стандартные задачи, такие как help, clean, debug и, собственно, release. Именно отсутствие этого файла — физическая причина ошибки. Проверьте содержимое папки tools в вашем SDK. Если папки ant там нет — ваш SDK слишком новый и не подходит для текущей версии 1С.
Разберем кратко все условия, при которых ошибка исчезнет:
java -version.source.properties в папке tools вашего SDK.Соблюдение этих параметров позволит вам успешно собрать мобильное приложение и избежать системных ошибок, связанных с несовместимостью инструментов разработки.