Как настроить отладку мобильного приложения 1С через Android Debug Bridge (ADB)?

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

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

Подготовка окружения и базовая настройка

Прежде чем приступать к отладке через ADB (Android Debug Bridge), необходимо подготовить инфраструктуру. Разберем по шагам стандартный алгоритм подготовки:

  1. Установка веб-сервера: Для публикации мобильного приложения чаще всего используется Apache или IIS. Это необходимо для того, чтобы мобильное устройство могло «забрать» актуальную конфигурацию.
  2. Настройка Android SDK: Убедимся, что на компьютере установлены инструменты разработчика Android. Важно правильно указать путь к SDK в настройках 1С. Если вы получаете ошибку о том, что adb.exe не обнаружен, проверьте путь в конфигураторе: Сервис — Параметры — Разработка — Настройка мобильной платформы. Путь не должен содержать кириллицы или лишних пробелов.
  3. Публикация: Выполним публикацию мобильного приложения на веб-сервере. В диалоге публикации обязательно проверим наличие флагов для передачи конфигурации.
  4. Запуск эмулятора или подключение устройства: Используем Android Virtual Device (AVD) из состава Android Studio или подключаем реальный смартфон кабелем USB.

Настройка режима отладки в конфигураторе

Одной из самых частых причин, по которой «ничего не происходит» при запуске отладки, является неверная настройка протоколов связи. Проанализируем, как правильно включить отладку по HTTP, которая является предпочтительной для работы с Android-устройствами.

Перейдем в меню Сервис — Параметры, далее выберем вкладку Отладка. Здесь необходимо установить следующие значения:

Почему это критично? Для мобильного устройства (даже если это эмулятор) адрес 127.0.0.1 — это оно само. Телефон пытается найти отладчик внутри своей операционной системы и, естественно, не находит его. Указание внешнего IP-адреса сетевой карты позволяет устройству «увидеть» конфигуратор на вашем ПК.

Также проверим настройки в самом конфигураторе: Отладка — Подключение — Настройка — Автоматическое подключение. Здесь должен быть активирован пункт Http сервис.

Работа с портами и брандмауэром

При запуске отладки 1С использует диапазон портов, начиная с 1560 (1560, 1561 и т.д.). Рассмотрим ситуацию, когда отладка запускается, но точки останова не срабатывают. Чаще всего это означает, что входящий трафик от мобильного устройства блокируется брандмауэром Windows или антивирусом.

Разберем, что нужно сделать для исправления ситуации:

  1. Добавим исключение для приложения 1cv8.exe в настройках брандмауэра.
  2. Разрешим входящие соединения по TCP для диапазона портов 1560–1591.
  3. Если используется USB-подключение без Wi-Fi, нам поможет механизм проброса портов через ADB. Выполним в командной строке:

adb forward tcp:1560 tcp:1560
adb forward tcp:1561 tcp:1561

Эта команда свяжет порт на вашем локальном компьютере с портом на подключенном Android-устройстве, создав надежный туннель для данных отладчика.

Особенности подключения реального устройства по USB

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

Проверим статус устройства через командную строку. Перейдем в папку с platform-tools и выполним:

adb devices

Если мы видим идентификатор устройства и статус device — всё в порядке. Если статус offline или unauthorized, попробуем перезапустить сервер ADB:


adb kill-server
adb start-server

Решение проблем с правами доступа и «пустой платформой»

Иногда возникает ситуация, когда 1С сообщает об успешном запуске мобильного приложения, но на экране устройства открывается пустая мобильная платформа без вашей конфигурации. Проанализируем причины:

  1. Доступ к памяти (Permission Denied): В современных версиях Android (10+) система безопасности ограничивает доступ к файлам. Зайдем в настройки приложений на телефоне, найдем «1С:Предприятие» и вручную предоставим разрешение на «Доступ ко всем файлам» (All files access).
  2. Ожидание готовности: Если эмулятор зависает на этапе «Ожидание готовности устройства», попробуем изменить режим его загрузки в настройках AVD Manager. Вместо Quick Boot выберем Cold Boot. Это заставит систему загрузиться полностью, инициализируя все необходимые службы ADB.
  3. Snapshot: Также полезно снять галочку Launch From Snapshot в настройках виртуального устройства, чтобы избежать загрузки из некорректно сохраненного состояния памяти.

Почему не срабатывают точки останова?

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

Таким образом, успех отладки мобильного приложения 1С через ADB складывается из трех составляющих: корректного пути к Android SDK, настройки сетевого адреса (IP вместо localhost) и обеспечения прав доступа внутри операционной системы Android. Следуя этим шагам, мы сможем эффективно находить ошибки в коде мобильных приложений, используя все возможности конфигуратора 1С. Для оперативного тестирования логики непосредственно в запущенном сеансе можно использовать решение для выполнения произвольного кода в мобильном клиенте.

← На главную