При переходе на новое складское оборудование или обновлении операционной системы на терминалах сбора данных (ТСД) разработчики часто сталкиваются с нетипичным поведением мобильных приложений 1С. Одной из наиболее распространенных проблем на устройствах Global POS C5000 GP является полная блокировка интерфейса мобильного клиента или мобильной платформы при запуске на операционной системе Android 9. Ситуация выглядит следующим образом: приложение успешно устанавливается, открывается начальная форма, однако после первого же нажатия на любую кнопку или элемент управления интерфейс перестает отзываться, хотя системные кнопки Android продолжают работать.
В этой статье мы подробно разберем причины такого поведения, проанализируем технические нюансы архитектуры устройства и составим пошаговый план решения проблемы, основываясь на практическом опыте коллег и специфике работы ОС Android 9.
Разберем первопричину, которая чаще всего приводит к «тихим» зависаниям. Современные процессоры в ТСД поддерживают 64-битную архитектуру, что побуждает разработчиков использовать при сборке apk пакеты для arm64-v8a. Однако на модели Global POS C5000 GP производитель нередко устанавливает 32-битную версию Android 9 (ARMv7), даже если аппаратная часть теоретически поддерживает 64 бита.
Проанализируем ситуацию: если вы устанавливаете версию arm64 на 32-битную систему, Android может позволить приложению запуститься, используя механизмы совместимости, но при попытке обращения к системным библиотекам или отрисовке элементов интерфейса через WebView происходит конфликт, приводящий к зависанию основного потока (UI-thread).
Решение: При использовании онлайн-сборщика мобильных приложений 1С или при ручной сборке в Android Studio необходимо выбирать архитектуру ARM (arm-v7a). Как показывает практика, именно эта архитектура является стабильной для данной модели ТСД. Даже если приложение версии arm64 устанавливается без ошибок, его работа на Android 9 в случае с C5000 будет некорректной.
Выясним, какие настройки операционной системы могут блокировать работу 1С. В Android 9 значительно ужесточились требования к безопасности и фоновым процессам. Рассмотрим список необходимых действий для корректной работы мобильного клиента:
Проанализируем работу встроенного сканера штрихкодов. Одной из скрытых причин зависания является режим эмуляции клавиатуры (Keyboard Wedge). Если в системном приложении «Scanner» или «BarCodeSetting» выбран этот режим, ТСД передает данные сканирования как нажатия клавиш.
Когда вы нажимаете на кнопку в 1С, фокус ввода может конфликтовать со службой сканера, которая ожидает ввода данных. Это вызывает блокировку интерфейса. Разберем правильный алгоритм настройки:
Мобильный клиент 1С на платформе 8.3.20 и выше сильно полагается на системный компонент Android System WebView для отрисовки форм. В заводских прошивках Global POS C5000 GP на Android 9 версия этого компонента может быть устаревшей и содержать ошибки аппаратного ускорения графики.
Рассмотрим шаги по оптимизации:
WebView через Google Play или установите актуальный apk файл вручную.Система Android 9 активно ограничивает приложения, которые, по ее мнению, потребляют много ресурсов. Поскольку мобильный клиент 1С — это ресурсоемкое приложение, система может переводить его в режим сна сразу после запуска.
Чтобы исключить это, выполните следующие действия:
Посмотрим на совместимость версий. Если ваше устройство имеет ограниченный объем оперативной памяти (например, 2 ГБ), использование платформы 8.3.20.х или 8.3.22.х может быть избыточным.
Рекомендуем протестировать работу на версиях 8.3.18.х или 8.3.19.х. Эти версии считаются более «легкими» для Android 9 и показывают лучшую стабильность на устройствах со слабым железом. При сборке в мобильном сборщике также попробуйте включить опцию «Использовать легкий интерфейс», что снизит нагрузку на графическую подсистему ТСД.
Подводя итог, можно сказать, что решение проблемы чаще всего кроется в правильном выборе архитектуры ARMv7 при сборке приложения и тонкой настройке системных разрешений Android. Проделав эти шаги, вы обеспечите стабильную работу мобильного решения 1С на терминалах Global POS.