Как исправить ошибку «Target "release" does not exist in the project "1cem"» при сборке мобильного приложения 1С

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

Сборка мобильного приложения на платформе 1С:Предприятие — это многоступенчатый процесс, требующий идеальной синхронизации версий различных компонентов: самой мобильной платформы, Сборщика мобильных приложений, Java Development Kit (JDK) и Android SDK. Ошибка «Target "release" does not exist in the project "1cem"» является одной из самых коварных, так как она не указывает напрямую на виновника, а лишь констатирует факт: скрипт сборки Apache Ant не смог найти стандартный сценарий для создания релизного пакета.

В этой статье мы подробно разберем, почему возникает эта проблема, проанализируем взаимосвязь инструментов и составим пошаговый план по восстановлению работоспособности среды сборки.

Выясняем причину: почему пропадает цель «release»?

Для начала проанализируем ситуацию. Когда мы нажимаем кнопку «Собрать» в Сборщике мобильных приложений, программа создает временный рабочий каталог, куда распаковывает шаблоны мобильной платформы и генерирует конфигурационный файл build.xml. Этот файл управляется инструментом Apache Ant.

Файл build.xml не содержит в себе всех инструкций по сборке Android-приложения. Вместо этого он импортирует стандартные правила из состава Android SDK (обычно это файл tools/ant/build.xml внутри папки SDK). Если этот импорт не срабатывает, или если импортируемый файл пуст/отсутствует, Ant выдает ту самую ошибку: проект «1cem» (имя по умолчанию для мобильных проектов 1С) не содержит цели (target) с именем «release».

Рассмотрим основные факторы, которые приводят к разрыву этой цепочки:

  1. Использование слишком новой версии JDK: В логах часто можно увидеть использование Java 10, 11 или выше. Для старых версий 1С это недопустимо.
  2. Обновление Android SDK Tools: Начиная с версии 25.3.0, компания Google исключила поддержку Ant из состава SDK Tools, отдав предпочтение Gradle. Сборщик 1С старых версий (до 2.0.7) об этом «не знает» и продолжает искать файлы Ant, которых в системе больше нет.
  3. Установка SDK через Android Studio: Современная IDE устанавливает только актуальные инструменты, которые несовместимы со старыми механизмами 1С.

Шаг 1: Установка правильной версии Java (JDK)

Первым делом проанализируем версию 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, сборка гарантированно завершится ошибкой.

Выполним следующие действия:

  1. Удалим все версии JDK выше 1.8 через панель управления.
  2. Установим JDK 1.8u151 (или более поздний апдейт 8-й серии). Учитывая, что многие системы сборки все еще используют 32-битные вызовы, на Windows x86 устанавливаем соответствующую версию, а на x64 можно поставить обе, но приоритет отдаем x64.
  3. Настроим системную переменную JAVA_HOME, указав путь к новой папке, например: C:\Program Files\Java\jdk1.8.0_151.

Шаг 2: Подготовка корректного Android SDK

Теперь разберем ситуацию с Android SDK. Ошибка «Target release does not exist» чаще всего возникает из-за того, что Сборщик обращается к папке SDK, а там отсутствуют необходимые Ant-скрипты. Если вы устанавливали SDK через Android Studio, то, скорее всего, у вас установлена версия SDK Tools 26.x.x или выше.

Для решения проблемы нам нужно выполнить «даунгрейд» (откат) инструментов:

  1. Скачаем архив Android SDK Command-line tools версии 25.2.5. Это последняя версия, которая официально поддерживает сборку через Ant.
  2. Распакуем его в корень диска, чтобы избежать проблем с длинными путями и пробелами (например, в D:\AndroidSDK).
  3. Внутри менеджера SDK (используя android.bat в папке tools) доустановим необходимые компоненты:
    • Android SDK Build-tools: версии 23.0.3 или 25.0.2 (не используйте самые последние версии для старых платформ).
    • SDK Platform: API 23 (Android 6.0) или API 25.

Важный момент: Никогда не соглашайтесь на предложение обновить «SDK Tools» до версии 25.3.0 или выше, если вы планируете собирать старые мобильные приложения 1С.

Шаг 3: Настройка Сборщика и путей

После того как окружение подготовлено, вернемся в интерфейс Сборщика мобильных приложений. Проверим настройки путей. Обратите внимание на наличие пробелов в путях. Apache Ant иногда некорректно обрабатывает пути типа C:\Program Files\..., поэтому крайне рекомендуем перенести все инструменты в папки без пробелов.

Пример правильной настройки путей:

Если вы используете платформу 8.3.10 и выше, настоятельно рекомендуем обновить сам Сборщик мобильных приложений до версии 2.0.7 или 2.0.8. Эти версии более устойчивы и содержат исправления для работы с новыми версиями Android SDK, хотя требование к JDK 1.8 для них часто остается в силе.

Шаг 4: Проверка скрипта сборки (для продвинутых)

Если ошибка сохраняется, проанализируем файл make.bat или build.xml, который генерируется в рабочем каталоге (путь к нему виден в логе сборки). Попробуем найти в нем строку импорта:

<import file="${android.sdk}/tools/ant/build.xml" />

Если этот файл по указанному пути отсутствует в вашей папке Android SDK, то Ant не сможет инициализировать стандартные задачи, такие как help, clean, debug и, собственно, release. Именно отсутствие этого файла — физическая причина ошибки. Проверьте содержимое папки tools в вашем SDK. Если папки ant там нет — ваш SDK слишком новый и не подходит для текущей версии 1С.

Итоговый чек-лист для успешной сборки

Разберем кратко все условия, при которых ошибка исчезнет:

  1. Java: Только версия 1.8 (JDK 8). Проверьте через командную строку java -version.
  2. Android SDK Tools: Версия 25.2.5. Проверьте наличие файла source.properties в папке tools вашего SDK.
  3. Apache Ant: Рекомендуется версия 1.9.x. Версии 1.10.x и выше предназначены для Java 9+ и могут работать нестабильно со старыми скриптами 1С.
  4. Пути: Отсутствие кириллицы и пробелов в путях к SDK, JDK, Ant и рабочему каталогу сборщика.
  5. Разрядность: Если вы работаете на 32-битной Windows (как в примере из лога), убедитесь, что все компоненты (JDK, Ant) также 32-битные. Однако помните, что современные средства сборки Android практически полностью перешли на 64-битную архитектуру, и в будущем это может стать непреодолимым препятствием.

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

← На главную