Мобильное приложение 1С на эмуляторе Android: установка платформы, сеть до сервера и отладка
Содержание
Чтобы подключить эмулятор к 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 ГБ на диске |
| Genymotion | 10.0.3.2 | Быстрый, удобный выбор устройств | Для коммерческого использования нужна платная лицензия |
| BlueStacks, LDPlayer и подобные | зависит от настроек сети | Просто поставить | Сделаны для игр, нет нормальной отладки, сетевые режимы непрозрачны |
| Реальный телефон по USB | IP компьютера в локальной сети | Честная производительность, камера, сканер | Нужен кабель и режим разработчика |
💡 Для работы с 1С берите Android Studio Emulator. Остальные варианты подходят, если он не запускается на вашем железе.
Архитектура образа
Образ эмулятора бывает x86_64 или ARM. На обычном компьютере с процессором Intel или AMD быстро работает только x86_64. Поэтому важно, чтобы APK мобильной платформы 1С содержал сборку под эту архитектуру.
Если APK собран только под ARM, на x86_64-образе он не установится или упадёт при запуске. Проверьте состав дистрибутива мобильной платформы: в нём лежат отдельные файлы под разные архитектуры. Берите тот, что совпадает с образом.
Подготовка эмулятора Android к работе с 1С
Шаг 1. Установите Android Studio и включите ускорение
- Скачайте и установите Android Studio. Для работы с 1С сам редактор кода не нужен — нужен только встроенный менеджер виртуальных устройств.
- В Windows включите компонент «Платформа низкоуровневой оболочки Windows» (Windows Hypervisor Platform) в списке компонентов Windows. Без него эмулятор работает в разы медленнее.
- Проверьте, что виртуализация включена в BIOS/UEFI компьютера.
Intel HAXM больше не развивается. На свежих версиях Android Studio используйте Windows Hypervisor Platform или драйвер AEHD, который предлагает установщик.
Шаг 2. Создайте виртуальное устройство
- Откройте
Device Managerв Android Studio и нажмите создание нового устройства. - Выберите профиль телефона или планшета. Для кладовщиков и торговых агентов полезно завести оба.
- Выберите образ системы x86_64. Версию Android берите ту, что стоит у ваших пользователей, и одну самую новую.
- Задайте память: для мобильной платформы 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 откажет — сначала удалите старое приложение.
Публикация конфигурации мобильного приложения
- В свойствах корня конфигурации в поле «Назначения использования» должно быть отмечено «Мобильное устройство». Без этого Конфигуратор не даст публиковать конфигурацию для мобильной платформы.
- Установите на компьютер веб-сервер: Apache или IIS.
- В Конфигураторе откройте
Конфигурация → Мобильное приложение → Публиковать, задайте имя публикации и каталог веб-сервера. - В эмуляторе запустите мобильную платформу, добавьте приложение и укажите адрес публикации через
10.0.2.2, напримерhttp://10.0.2.2/mobile.
После каждой правки конфигурации публикацию нужно обновить. Приложение на устройстве предложит загрузить новую версию при следующем обновлении.
Подключение мобильного клиента к базе
- Опубликуйте информационную базу на веб-сервере через
Администрирование → Публикация на веб-серверев Конфигураторе. Конфигуратор для этого запускают от имени администратора Windows. - Убедитесь, что конфигурация поддерживает работу в мобильном клиенте. У типовых решений это указано в описании поставки.
- В мобильном клиенте добавьте базу с адресом вида
http://10.0.2.2/buh, гдеbuh— имя публикации. - Введите логин и пароль пользователя информационной базы.
Не публикуйте рабочую базу на веб-сервере, доступном из интернета, только ради тестов. Для эмулятора достаточно публикации на localhost и копии базы.
Отладка мобильного приложения на эмуляторе
Отладка мобильной платформы работает через сервер отладки по протоколу HTTP. Порядок такой:
- В параметрах Конфигуратора включите отладку по протоколу HTTP.
- Запустите отладку. Конфигуратор поднимет сервер отладки
dbgsна компьютере; по умолчанию он слушает порт 1550. - В настройках мобильного приложения на эмуляторе разрешите отладку и укажите адрес сервера отладки через
10.0.2.2, напримерhttp://10.0.2.2:1550. - Перезапустите приложение. В Конфигураторе в списке предметов отладки появится мобильный клиент — можно ставить точки останова.
💡 Если порт 1550 занят другим процессом, сервер отладки запустится на другом порту. Номер видно в окне подключения предметов отладки — его и указывайте в эмуляторе.
Ошибки подключения эмулятора и что с ними делать
localhost или 127.0.0.1. Замените на 10.0.2.2 (Android Studio) или 10.0.3.2 (Genymotion), либо выполните adb reverse tcp:80 tcp:80.Genymotion и сеть VirtualBox
В Genymotion трафик к компьютеру идёт через виртуальный адаптер VirtualBox. Брандмауэр Windows считает его отдельной сетью и может резать входящие подключения к веб-серверу. Разрешите входящий порт 80 или 443 для этого адаптера. Отключать брандмауэр целиком не нужно.
Как ускорить работу: советы из практики
- ⚡ Снимки состояния. Сохраните снимок эмулятора с установленной платформой и настроенной базой. Возврат к чистому состоянию занимает секунды вместо переустановки.
- 🗂️ Отдельная копия базы. Тестируйте на копии рабочей базы, выгруженной в
.dt. Мобильные обмены меняют данные, и откатить их в рабочей базе сложно. - 📏 Два профиля устройства. Держите маленький телефон и планшет. Ошибки вёрстки форм проявляются как раз на крайних размерах.
- 🌐 Медленная сеть. В расширенных настройках эмулятора можно ограничить скорость и задержку сети. Так видно, как приложение ведёт себя на складе со слабым сигналом.
- 🧹 Холодная загрузка. После странных сбоев запускайте эмулятор с
-no-snapshot-load, а при совсем запущенных случаях — с-wipe-data. Второй ключ стирает всё, что было в виртуальном устройстве. - 📋 Журнал. Сообщения приложения смотрите через
adb logcat. Фильтруйте вывод по имени пакета, иначе он утонет в системном шуме.
Когда эмулятор не подходит и чем его заменить
Эмулятор плохо справляется в нескольких случаях:
- 📷 Сканер штрихкодов и камера. Встроенные сканеры терминалов сбора данных работают через свои драйверы и интенты. В эмуляторе их нет. Проверяйте на реальном ТСД.
- 🔋 Производительность и батарея. Компьютер мощнее телефона. Медленный запрос на эмуляторе пройдёт быстро, а у пользователя повиснет.
- 🍏 iOS. Эмулятор Android ничего не скажет о поведении приложения на iPhone. Для iOS нужен компьютер Mac и симулятор Xcode или реальное устройство.
- 🖥️ Слабый компьютер без виртуализации. На старых ноутбуках и в некоторых виртуальных машинах вложенная виртуализация недоступна.
Что использовать вместо:
- Реальный телефон по USB. Включите режим разработчика и отладку по USB. Команды
adbработают так же. Адрес сервера — IP компьютера в локальной сети, а не10.0.2.2. - Мобильная платформа для Windows. В дистрибутиве мобильной платформы есть версия под Windows. Она подходит для быстрой проверки логики без виртуального телефона, но вёрстку экрана телефона не покажет.
- Веб-клиент в браузере с уменьшенным окном. Грубая проверка, но иногда этого хватает для простых форм.