Как собрать мобильное приложение для платформы 1С 8.3.17: подбираем версии JDK, SDK и Gradle

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

При разработке мобильных приложений на платформе 1С одним из самых сложных этапов является сборка установочного файла APK для Android. Часто разработчики сталкиваются с многочисленными ошибками, которые на первый взгляд кажутся неразрешимыми. Основная причина этих проблем — несовместимость версий инструментов: мобильной платформы 1С, Java Development Kit (JDK), Android SDK и системы сборки Gradle. Давайте разберемся, какую конфигурацию окружения выбрать для успешной сборки на примере платформы 8.3.17.76 и какие шаги предпринять для решения типичных проблем.

Рабочая конфигурация для платформы 8.3.17.76

Проанализируем опыт коллег, которым удалось преодолеть ошибки и успешно собрать приложение. Для мобильной платформы 8.3.17.76 стабильной оказалась следующая комбинация инструментов:

  1. Мобильная платформа 1С: 8.3.17.76.
  2. Java Development Kit (JDK): JDK 8. Это ключевой момент. В обсуждении упоминалась конкретная версия jdk-8u271-windows-i586 (32-битная). Попытки использовать более новые версии, например, JDK 14, приводили к ошибкам. Для старых релизов платформы 1С часто требуется именно JDK 8.
  3. Android SDK: API Level 26. При этом отмечалось, что сборка проходила и для более высоких целевых версий API (targetSdkVersion) — 28, 29 и 30.
  4. Система сборки: Gradle. В данном случае использование устаревшей системы сборки Ant не потребовалось.

Эта конфигурация является отправной точкой. Если вы работаете с указанной версией платформы, начните с установки именно этих версий компонентов. Вероятность успеха будет максимальной.

Анализ типичных ошибок сборки

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


To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/6.1.1/userguide/gradle_daemon.html.
 FAILURE: Build failed with an exception.
 * What went wrong:
The first result from the daemon was empty. Most likely the process died immediately after connection.
 * Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
 * Get more help at https://help.gradle.org

Сообщение The first result from the daemon was empty. Most likely the process died immediately after connection часто указывает на фундаментальную несовместимость между версией Gradle, которую пытается использовать сборщик 1С, и установленной в системе версией JDK. Механизм сборки в платформе 1С имеет "зашитые" требования к версиям инструментов, и использование более новых версий Java, к которым Gradle не готов, приводит к падению процесса сборки.

Вывод: всегда начинайте с проверки рекомендованной версии JDK для вашей версии платформы 1С. В большинстве случаев для платформ до 8.3.18-8.3.19 это будет JDK 8. Для более новых платформ может потребоваться JDK 11.

Рекомендации по настройке окружения

Чтобы избежать проблем и упростить процесс, рассмотрим несколько практических советов по настройке рабочего места разработчика мобильных приложений 1С.

  1. Используйте Android Studio для управления SDK. Не скачивайте компоненты Android SDK по отдельности. Установите Android Studio — это официальная среда разработки от Google. Через встроенный SDK Manager вы сможете легко устанавливать и обновлять нужные версии "SDK Platform" и "Build-Tools". Это самый надежный и удобный способ поддерживать SDK в актуальном состоянии.

  2. Правильно настройте переменные окружения. Сборщик 1С должен "видеть", где у вас установлены Java и Android SDK. Убедитесь, что в системных переменных окружения прописаны:

    • JAVA_HOME: переменная должна указывать на корневой каталог установленной JDK (например, C:\Program Files\Java\jdk1.8.0_271).
    • PATH: в эту переменную необходимо добавить путь к папке bin вашей JDK (%JAVA_HOME%\bin), а также пути к инструментам Android SDK (обычно это папки tools и platform-tools).
  3. Используйте "Сборщик мобильных приложений" для новых платформ. Начиная с версии платформы 8.3.18, фирма "1С" выпустила отдельный инструмент — "Сборщик мобильных приложений". Он значительно упрощает процесс, так как сам подбирает совместимые версии компонентов и автоматизирует многие шаги. Если ваша версия платформы это позволяет, настоятельно рекомендуем использовать именно его.

Известные проблемы и ограничения платформы 8.3.17

Важно понимать, что успешная сборка — это еще не все. Приложение должно корректно работать на современных устройствах. Для платформы 8.3.17.76 была отмечена серьезная проблема:

Ошибка доступа ко всем файлам на Android 11. Это известная проблема, зарегистрированная в баг-трекере 1С. Она связана с тем, что в Android 11 Google значительно ужесточила политику безопасности и ввела концепцию "Scoped Storage", ограничив прямой доступ приложений к файловой системе. Разработчикам 1С потребовалось время, чтобы адаптировать платформу к этим изменениям.

Если ваше приложение должно работать на Android 11 и выше и требует активной работы с файлами, использование платформы 8.3.17.76 может быть нецелесообразным. В таком случае рекомендуется обновиться до более свежего релиза мобильной платформы (например, 8.3.18 и выше), где эти проблемы уже решены.

Где брать информацию для изучения мобильной разработки на 1С?

Если вы только начинаете свой путь, важно иметь под рукой качественные учебные материалы. Участники форума поделились проверенными источниками:

В заключение, разработка под мобильную платформу 1С требует внимательности к деталям, особенно к версиям используемых инструментов. Начиная работу, всегда сверяйтесь с документацией и опытом коллег, чтобы выбрать правильную и стабильную конфигурацию окружения.

← На главную