К статье
Практический материал

Разработка и Конфигурация · 9 мин

1С: как сделать APK мобильного приложения

Как собрать APK-файл мобильного приложения 1С: мобильная платформа, конфигурация, Android SDK, подпись пакета и установка на устройство.

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

Процесс состоит из трёх крупных этапов: разработка мобильной конфигурации в конфигураторе, установка и настройка инструментов сборки (мобильная платформа, Android SDK, Java) и непосредственная сборка пакета с подписью. Ошибки чаще всего возникают не в коде, а в несовместимости версий инструментов, поэтому важно строго следовать требованиям к окружению.

Что потребуется для сборки APK из 1С

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

  • Мобильная платформа 1С — дистрибутив с портала 1С, версия должна соответствовать версии платформы разработки.
  • Мобильная конфигурация — ваше прикладное решение, разработанное в конфигураторе в режиме мобильного приложения.
  • JDK (Java Development Kit) — версия, рекомендованная для вашей версии мобильной платформы (обычно указана в документации к дистрибутиву).
  • Android SDK — с платформой нужного API-уровня, build-tools и platform-tools.
  • Сборщик мобильных приложений — конфигурация из состава дистрибутива мобильной платформы, автоматизирующая сборку.
  • Ключ подписи — keystore-файл для подписи APK; без него пакет не установится на устройство.

Разработка мобильной конфигурации

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

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

Для отладки не обязательно каждый раз собирать APK. Установите на смартфон готовую мобильную платформу из магазина приложений или из дистрибутива и загрузите в неё конфигурацию через файл или по сети с компьютера разработчика. Это ускоряет цикл «изменил — проверил» в десятки раз.

Порядок разработки конфигурации
  1. 1
    Создайте конфигурацию и укажите назначение «Мобильное приложение»
  2. 2
    Опишите объекты: справочники, документы, регистры сведений и накопления
  3. 3
    Настройте формы под сенсорный ввод: крупные элементы, минимум колонок в таблицах
  4. 4
    Протестируйте на мобильной платформе разработчика без сборки APK
  5. 5
    Исправьте ошибки и только потом переходите к сборке пакета

Настройка окружения: JDK и Android SDK

Установите JDK той версии, которая требуется вашей мобильной платформе, и пропишите переменную окружения JAVA_HOME, указывающую на каталог установки. Проверьте установку командой java -version в командной строке — система должна вывести версию, а не сообщение об ошибке.

Android SDK удобнее всего ставить через Android Studio или отдельный пакет командной строки. После установки через SDK Manager загрузите нужную платформу (Android API требуемого уровня), build-tools и platform-tools. Пропишите переменную ANDROID_HOME или ANDROID_SDK_ROOT (в зависимости от версии инструментов) и добавьте пути к platform-tools в PATH.

Типичная проверка готовности окружения: команда adb devices должна выполняться без ошибок, а при подключённом устройстве с включённой отладкой по USB — показывать его в списке.

bash
java -version
adb devices
keytool -list -v -keystore my-release-key.keystore

Сборка APK через сборщик мобильных приложений

Сборщик мобильных приложений — это конфигурация 1С, которая поставляется вместе с мобильной платформой. Откройте её в режиме предприятия, создайте новый проект сборки и заполните параметры: путь к файлу мобильной конфигурации, путь к дистрибутиву мобильной платформы, расположение Android SDK, идентификатор приложения (например, com.example.myapp), версию и иконку.

Отдельно укажите параметры подписи: путь к keystore-файлу, пароль хранилища, псевдоним ключа и его пароль. Если ключа ещё нет, создайте его утилитой keytool из состава JDK. Храните keystore в надёжном месте: потеря ключа означает невозможность обновлять приложение — Android примет новую версию только с той же подписью.

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

Подпись приложения и установка на устройство

Android не позволяет установить неподписанный APK. Сборщик обычно подписывает пакет автоматически по указанным параметрам, но при ручной сборке используется утилита apksigner или jarsigner из состава SDK. Убедитесь, что подпись применена: команда проверки подписи должна показать сертификат вашего ключа.

Для установки на устройство включите на смартфоне режим разработчика и отладку по USB, подключите кабель и выполните adb install путь_к_файлу.apk. Альтернатива — скопировать APK на устройство и открыть его файловым менеджером, предварительно разрешив установку из неизвестных источников в настройках безопасности.

Контрольные точки

Как проверить результат

Запуск приложения
Норма

Приложение открывается, показывает стартовую форму конфигурации

Тревожный признак

Мгновенное закрытие или ошибка при старте

Иконка и имя
Норма

Отображаются заданные при сборке иконка и название

Тревожный признак

Стандартная иконка робота и имя пакета

Подпись пакета
Норма

apksigner verify проходит без ошибок

Тревожный признак

Сообщение об отсутствующей или невалидной подписи

Работа данных
Норма

Справочники и документы создаются и сохраняются

Тревожный признак

Ошибки записи в базу при первом действии

Типичные ошибки и альтернативные варианты

Большинство проблем при сборке связано с окружением, а не с конфигурацией. Ниже — самые частые сценарии и способы их избежать.

Типичные ошибки
01
Несовместимые версии JDK и мобильной платформы — сборка падает на этапе компиляции; решение: строго следовать требованиям документации
02
Не прописан JAVA_HOME или ANDROID_HOME — сборщик не находит инструменты; решение: проверить переменные окружения и перезапустить сеанс
03
Потерян keystore после публикации — невозможно выпустить обновление под тем же приложением; решение: хранить резервные копии ключа
04
Сборка APK без предварительного теста конфигурации — ошибки логики обнаруживаются уже на устройстве пользователя; решение: отладка на мобильной платформе разработчика
05
Идентификатор пакета совпадает с чужим приложением — конфликт при установке; решение: использовать уникальный идентификатор вида com.вашакомпания.продукт

Если полноценная сборка избыточна, рассмотрите альтернативы. Готовая мобильная платформа из магазина приложений позволяет загрузить вашу конфигурацию без сборки собственного APK — подходит для внутреннего использования и пилотных проектов. Другой вариант — публикация через веб-сервер и работа в мобильном клиенте с подключением к центральной базе, когда автономность не нужна.

Сравнение вариантов

Собственный APK

Полный контроль: своя иконка, имя, разрешения, автономная база. Требует настройки окружения и поддержки сборки при обновлениях.

Мобильная платформа из магазина

Быстрый старт без сборки: загружаете конфигурацию в готовую оболочку. Ограничение: нет своего брендинга и отдельного приложения.

Мобильный клиент к серверу

Работа с центральной базой через интернет, данные всегда актуальны. Ограничение: нужна постоянная связь и публикация базы.

Частые вопросы

Можно ли собрать APK без лицензии на мобильную платформу?

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

Чем APK отличается от AAB и что выбрать?

APK — установочный пакет для прямой установки на устройство. AAB (Android App Bundle) — формат публикации в Google Play, из которого магазин сам формирует пакеты под конкретные устройства. Для внутреннего распространения достаточно APK, для публикации в магазине потребуется AAB.

Почему приложение не устанавливается поверх старой версии?

Чаще всего причина в несовпадении подписи: новая сборка подписана другим ключом. Проверьте, что используете тот же keystore. Вторая возможная причина — уменьшенный код версии: Android не даёт «откатить» приложение на сборку с меньшим versionCode.

Можно ли собрать приложение под iOS тем же способом?

Мобильная платформа 1С поддерживает iOS, но сборка выполняется отдельно и требует компьютер с macOS, Xcode и учётную запись разработчика Apple. Единого кроссплатформенного пакета не получается — конфигурация общая, а сборка для каждой системы своя.

Как обновить конфигурацию в уже установленном приложении?

Если изменения только в коде конфигурации, её можно обновить внутри приложения через загрузку новой версии конфигурации, не пересобирая APK. Пересборка пакета нужна, когда меняется сама мобильная платформа, иконка, разрешения или состав внешних компонентов.

Итог

Что важно запомнить

APK из 1С собирается через мобильную платформу и сборщик мобильных приложений. Ключевые условия успеха: совместимые версии JDK и Android SDK, отлаженная на платформе разработчика конфигурация, правильно созданный и сохранённый ключ подписи. Сначала тестируйте конфигурацию без сборки — и только потом собирайте пакет.