Мобильное приложение 1С на эмуляторе Android: установка платформы, сеть до сервера и отладка

· 10 мин

Содержание

Чтобы подключить эмулятор к 1С, поставьте в эмулятор Android мобильную платформу или мобильный клиент 1С, опубликуйте базу или конфигурацию на веб-сервере компьютера и укажите в приложении адрес http://10.0.2.2/<имя_публикации>. Адрес 10.0.2.2 — это ваш компьютер, каким его видит стандартный эмулятор Android Studio. Через localhost или 127.0.0.1 эмулятор обращается сам к себе, а не к вашему веб-серверу.

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

Когда эмулятор нужен разработчику и тестировщику 1С

Эмулятор Android — это виртуальный телефон или планшет на вашем компьютере. Для 1С его подключают в нескольких сценариях:

  • 📱 Разработка мобильного приложения на мобильной платформе 1С. Конфигурацию правят в Конфигураторе, а запускают на «телефоне» без кабеля и без живого устройства.
  • 🧪 Тестирование мобильного клиента. Мобильный клиент работает с обычной базой на сервере, как тонкий клиент. Эмулятор показывает, как формы выглядят на маленьком экране.
  • 📐 Проверка вёрстки форм на разных диагоналях и ориентациях. В эмуляторе можно за минуту создать планшет 10 дюймов и телефон 5 дюймов.
  • 🔁 Проверка обмена мобильного приложения с центральной базой: HTTP-сервисы, веб-сервисы, планы обмена.
  • 🐞 Отладка мобильного кода с точками останова прямо из Конфигуратора.

Эмулятор не заменяет финальную проверку на реальном устройстве. Камера, сканер штрихкодов, GPS и производительность там другие. Но 80% рутинных проверок интерфейса и логики эмулятор закрывает.

Какой эмулятор выбрать: сравнение вариантов

Главный критерий — насколько предсказуемо эмулятор ходит в сеть к вашему компьютеру и даёт ли доступ через adb.

ЭмуляторАдрес компьютера изнутриПлюсыМинусы
Android Studio Emulator (AVD)10.0.2.2Официальный, любые версии Android, есть adb и снимки состоянияТребует аппаратной виртуализации, занимает 8–15 ГБ на диске
Genymotion10.0.3.2Быстрый, удобный выбор устройствДля коммерческого использования нужна платная лицензия
BlueStacks, LDPlayer и подобныезависит от настроек сетиПросто поставитьСделаны для игр, нет нормальной отладки, сетевые режимы непрозрачны
Реальный телефон по USBIP компьютера в локальной сетиЧестная производительность, камера, сканерНужен кабель и режим разработчика

💡 Для работы с 1С берите Android Studio Emulator. Остальные варианты подходят, если он не запускается на вашем железе.

Архитектура образа

Образ эмулятора бывает x86_64 или ARM. На обычном компьютере с процессором Intel или AMD быстро работает только x86_64. Поэтому важно, чтобы APK мобильной платформы 1С содержал сборку под эту архитектуру.

Если APK собран только под ARM, на x86_64-образе он не установится или упадёт при запуске. Проверьте состав дистрибутива мобильной платформы: в нём лежат отдельные файлы под разные архитектуры. Берите тот, что совпадает с образом.

Подготовка эмулятора Android к работе с 1С

Шаг 1. Установите Android Studio и включите ускорение

  1. Скачайте и установите Android Studio. Для работы с 1С сам редактор кода не нужен — нужен только встроенный менеджер виртуальных устройств.
  2. В Windows включите компонент «Платформа низкоуровневой оболочки Windows» (Windows Hypervisor Platform) в списке компонентов Windows. Без него эмулятор работает в разы медленнее.
  3. Проверьте, что виртуализация включена в BIOS/UEFI компьютера.

Intel HAXM больше не развивается. На свежих версиях Android Studio используйте Windows Hypervisor Platform или драйвер AEHD, который предлагает установщик.

Шаг 2. Создайте виртуальное устройство

  1. Откройте Device Manager в Android Studio и нажмите создание нового устройства.
  2. Выберите профиль телефона или планшета. Для кладовщиков и торговых агентов полезно завести оба.
  3. Выберите образ системы x86_64. Версию Android берите ту, что стоит у ваших пользователей, и одну самую новую.
  4. Задайте память: для мобильной платформы 1С комфортно от 2 ГБ RAM и от 4 ГБ внутреннего хранилища.

Шаг 3. Проверьте связь через adb

Утилита adb лежит в папке platform-tools Android SDK. Запустите эмулятор и выполните:

adb devices

В списке должна появиться строка вида emulator-5554 device. Если стоит offline — перезапустите эмулятор с холодной загрузкой:

emulator -list-avds
emulator -avd Pixel_7_API_34 -no-snapshot-load

Имя устройства подставьте своё из вывода -list-avds.

Сеть: как эмулятор достаёт до сервера 1С на компьютере

Это главный шаг, на котором спотыкается большинство. У эмулятора своя виртуальная сеть. Он не видит localhost вашего компьютера напрямую.

Специальные адреса

  • 🖥️ 10.0.2.2 — петлевой интерфейс компьютера, на котором запущен эмулятор Android Studio. Всё, что слушает 127.0.0.1:80 на компьютере, доступно в эмуляторе по http://10.0.2.2:80.
  • 🔄 10.0.2.15 — адрес самого эмулятора в его виртуальной сети.
  • 🧩 10.0.3.2 — адрес компьютера в Genymotion (через сеть VirtualBox).

Вариант с adb reverse

Если приложение жёстко ждёт localhost, пробросьте порт обратно:

adb reverse tcp:80 tcp:80

Теперь http://localhost/ внутри эмулятора ведёт на порт 80 компьютера. Проброс сбрасывается при перезапуске эмулятора, команду придётся повторить.

Сервер 1С на другой машине

Если веб-сервер с публикацией стоит не на вашем компьютере, а на сервере в офисе, указывайте его обычный адрес или имя: http://srv-1c/mobile. Эмулятор выходит в сеть через сетевой стек компьютера, поэтому всё, что открывается в браузере компьютера, обычно открывается и в эмуляторе.

Исключение — имена из локального файла hosts компьютера. Эмулятор их не знает. Пишите IP-адрес.

Проверка до запуска 1С

Откройте браузер внутри эмулятора и введите адрес публикации. Если браузер получил ответ веб-сервера (страницу, ошибку 401 или 404 с подписью Apache или IIS), сеть работает. Если браузер висит и пишет, что сайт недоступен, — проблема в сети, а не в 1С.

Установка мобильной платформы и мобильного клиента 1С в эмулятор

Сначала определитесь, что именно вы проверяете.

Что тестируетеЧто ставить в эмуляторЧто публиковать на компьютере
Мобильное приложение (автономная конфигурация на устройстве)APK мобильной платформы для разработчикаКонфигурацию мобильного приложения
Работу обычной базы с телефонаМобильный клиент 1СИнформационную базу, как для веб-клиента

Установка APK

Перетащите файл APK мышью в окно эмулятора или поставьте его командой:

adb install -r путь\к\файлу.apk

Ключ -r переустанавливает приложение поверх старой версии с сохранением данных. Если версия платформы в APK ниже уже установленной, Android откажет — сначала удалите старое приложение.

Публикация конфигурации мобильного приложения

  1. В свойствах корня конфигурации в поле «Назначения использования» должно быть отмечено «Мобильное устройство». Без этого Конфигуратор не даст публиковать конфигурацию для мобильной платформы.
  2. Установите на компьютер веб-сервер: Apache или IIS.
  3. В Конфигураторе откройте Конфигурация → Мобильное приложение → Публиковать, задайте имя публикации и каталог веб-сервера.
  4. В эмуляторе запустите мобильную платформу, добавьте приложение и укажите адрес публикации через 10.0.2.2, например http://10.0.2.2/mobile.

После каждой правки конфигурации публикацию нужно обновить. Приложение на устройстве предложит загрузить новую версию при следующем обновлении.

Подключение мобильного клиента к базе

  1. Опубликуйте информационную базу на веб-сервере через Администрирование → Публикация на веб-сервере в Конфигураторе. Конфигуратор для этого запускают от имени администратора Windows.
  2. Убедитесь, что конфигурация поддерживает работу в мобильном клиенте. У типовых решений это указано в описании поставки.
  3. В мобильном клиенте добавьте базу с адресом вида http://10.0.2.2/buh, где buh — имя публикации.
  4. Введите логин и пароль пользователя информационной базы.

Не публикуйте рабочую базу на веб-сервере, доступном из интернета, только ради тестов. Для эмулятора достаточно публикации на localhost и копии базы.

Отладка мобильного приложения на эмуляторе

Отладка мобильной платформы работает через сервер отладки по протоколу HTTP. Порядок такой:

  1. В параметрах Конфигуратора включите отладку по протоколу HTTP.
  2. Запустите отладку. Конфигуратор поднимет сервер отладки dbgs на компьютере; по умолчанию он слушает порт 1550.
  3. В настройках мобильного приложения на эмуляторе разрешите отладку и укажите адрес сервера отладки через 10.0.2.2, например http://10.0.2.2:1550.
  4. Перезапустите приложение. В Конфигураторе в списке предметов отладки появится мобильный клиент — можно ставить точки останова.

💡 Если порт 1550 занят другим процессом, сервер отладки запустится на другом порту. Номер видно в окне подключения предметов отладки — его и указывайте в эмуляторе.

Ошибки подключения эмулятора и что с ними делать

Диагностика: выберите симптом

Genymotion и сеть VirtualBox

В Genymotion трафик к компьютеру идёт через виртуальный адаптер VirtualBox. Брандмауэр Windows считает его отдельной сетью и может резать входящие подключения к веб-серверу. Разрешите входящий порт 80 или 443 для этого адаптера. Отключать брандмауэр целиком не нужно.

Как ускорить работу: советы из практики

  • ⚡ Снимки состояния. Сохраните снимок эмулятора с установленной платформой и настроенной базой. Возврат к чистому состоянию занимает секунды вместо переустановки.
  • 🗂️ Отдельная копия базы. Тестируйте на копии рабочей базы, выгруженной в .dt. Мобильные обмены меняют данные, и откатить их в рабочей базе сложно.
  • 📏 Два профиля устройства. Держите маленький телефон и планшет. Ошибки вёрстки форм проявляются как раз на крайних размерах.
  • 🌐 Медленная сеть. В расширенных настройках эмулятора можно ограничить скорость и задержку сети. Так видно, как приложение ведёт себя на складе со слабым сигналом.
  • 🧹 Холодная загрузка. После странных сбоев запускайте эмулятор с -no-snapshot-load, а при совсем запущенных случаях — с -wipe-data. Второй ключ стирает всё, что было в виртуальном устройстве.
  • 📋 Журнал. Сообщения приложения смотрите через adb logcat. Фильтруйте вывод по имени пакета, иначе он утонет в системном шуме.
Перед тем как звать коллег на помощь
Выполнено: 0 / 6

Когда эмулятор не подходит и чем его заменить

Эмулятор плохо справляется в нескольких случаях:

  • 📷 Сканер штрихкодов и камера. Встроенные сканеры терминалов сбора данных работают через свои драйверы и интенты. В эмуляторе их нет. Проверяйте на реальном ТСД.
  • 🔋 Производительность и батарея. Компьютер мощнее телефона. Медленный запрос на эмуляторе пройдёт быстро, а у пользователя повиснет.
  • 🍏 iOS. Эмулятор Android ничего не скажет о поведении приложения на iPhone. Для iOS нужен компьютер Mac и симулятор Xcode или реальное устройство.
  • 🖥️ Слабый компьютер без виртуализации. На старых ноутбуках и в некоторых виртуальных машинах вложенная виртуализация недоступна.

Что использовать вместо:

  1. Реальный телефон по USB. Включите режим разработчика и отладку по USB. Команды adb работают так же. Адрес сервера — IP компьютера в локальной сети, а не 10.0.2.2.
  2. Мобильная платформа для Windows. В дистрибутиве мобильной платформы есть версия под Windows. Она подходит для быстрой проверки логики без виртуального телефона, но вёрстку экрана телефона не покажет.
  3. Веб-клиент в браузере с уменьшенным окном. Грубая проверка, но иногда этого хватает для простых форм.

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

Можно ли подключить эмулятор к файловой базе 1С?
Напрямую — нет. Мобильный клиент работает только через веб-сервер. Опубликуйте файловую базу на Apache или IIS и подключайтесь к публикации.
Нужна ли лицензия 1С для работы в эмуляторе?
Мобильная платформа для разработчика нужна для отладки и тестов. Для подключения мобильного клиента к базе действуют те же правила лицензирования, что и для других клиентов этой базы.
Почему после обновления конфигурации в эмуляторе старая версия?
Публикация на веб-сервере не обновилась сама. Опубликуйте мобильное приложение заново и обновите его в эмуляторе.
Какую версию Android ставить в эмулятор?
Ту, что на устройствах ваших пользователей, и одну самую новую. Так видно и текущее поведение, и проблемы ближайших обновлений.
Что такое «эмулятор ключа защиты» 1С и можно ли его использовать?
Это программа, которая обходит аппаратный ключ лицензии. Её использование нарушает лицензионное соглашение и закон, а такие сборки часто содержат вредоносный код. Легальные варианты — программная лицензия или учебная версия платформы.