Голосовое управление автомобилем на Android: кейс SimbirSoft
En
Проекты Вакансии Блог
12 ноября 2026
10 минут
Поделиться:

Голосовое управление автомобилем на Android: как дорабатывать мобильное ПО без ущерба для безопасности

В кейсе SimbirSoft — о том, как доработать Android Automotive-приложение для голосового управления автомобилем без ущерба для безопасности: расширить команды и API автомобильных систем, обновить уведомления и звуки, добавить запуск ассистента кнопкой на руле и фича-флаги для управляемого включения функций при сборке и обновлении ПО.

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

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

К нам обратилась компания, специализирующаяся на разработке ПО для Android Automotive. Это операционная система на базе Android, предназначенная для работы непосредственно в автомобильных информационно-развлекательных системах.

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

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

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

Почему недостаточно просто добавить новые функции

На первый взгляд, доработка голосового помощника может показаться набором относительно независимых задач: добавить обработчик команды, подключить новый API, настроить уведомления и воспроизведение звука. На практике эти изменения затрагивают несколько частей приложения одновременно.

Новые возможности затрагивают сразу несколько компонентов приложения: обработку голосовых команд, взаимодействие с автомобильными системами и уведомления. Изменения необходимо согласовать с существующей архитектурой и проверить связанные пользовательские сценарии.

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

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

Какое решение выбрали

Команда Simbirsoft доработала сервис обработки голосовых команд, расширила API управления автомобильными системами и обновила связанные механизмы уведомлений и звуков.

Одним из изменений стал запуск голосового помощника по нажатию кнопки на руле. Такой сценарий дает водителю дополнительный способ обратиться к ассистенту, не прибегая к поиску соответствующего элемента интерфейса на экране.

Команда также расширила API для управления дверями, зеркалами, сиденьями и окнами и перевела приложения на новый интерфейс взаимодействия с этими системами.

Отдельное внимание уделили уведомлениям. В приложении появились новые типы уведомлений, была реализована их сортировка и добавлено тестовое покрытие. Для воспроизведения индивидуальных звуков уведомлений использовали Android-компонент SoundPool.

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

Реализация: согласованность компонентов и контроль изменений

Основная сложность подобных проектов заключается в обеспечении корректной работы новых функций в существующей системе. Для этого недостаточно реализовать отдельные обработчики. Необходимо также учитывать архитектуру приложения, связи между сервисами и влияние изменений на остальные компоненты.

В проекте использовались инструменты Kotlin, Coroutines и Flow для работы с асинхронными операциями и потоками данных. Концепции MVVM и Clean Architecture применялись для организации структуры приложения, а библиотека Hilt для управления зависимостями. В технологический стек также входил набор современных технологий и библиотек, составляющих полный стек для разработки мобильного приложения: Jetpack Compose, Jetpack Navigation, Room, MQTT, KotlinX Serialization и Protobuf.

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

Работа включала не только разработку новых функций, но и исправление ошибок, настройку эмулятора, написание тестов и обновление документации в Confluence. Для тестирования использовались JUnit, Mockito и инструменты Jetpack Compose Test. Команда также взаимодействовала с разработчиками, аналитиками и другими участниками проекта, чтобы согласовывать изменения и проверять их совместимость с существующей системой.

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

В результате доработки приложение получило новые возможности голосового управления и взаимодействия с автомобильными системами. Команда расширила API, обновила механизмы уведомлений и воспроизведения звуков, а также предусмотрела управление доступностью голосового помощника.

Эти изменения направлены на решение нескольких бизнес-задач.

Безопасность и удобство. Запуск ассистента кнопкой на руле и голосовое взаимодействие создают дополнительные способы управления функциями автомобиля. Это уменьшает необходимость отвлекаться на экран.

Контроль выпуска новых функций. Фича-флаги дают возможность управлять доступностью ассистента в зависимости от требований к сборке и этапа обновления. Такой подход помогает снизить риски при внедрении изменений.

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

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

Где применим такой подход

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

В таких проектах особенно важны три принципа: согласованное взаимодействие компонентов, проверка связанных пользовательских сценариев и возможность контролировать доступность новых функций.

Кейс Simbirsoft показывает, что доработка сложного мобильного приложения требует не только реализации новых возможностей, но и внимания к архитектуре, тестированию и сопровождению. Такой подход помогает управляемо развивать продукт и снижать риски, связанные с внесением изменений в существующую систему.

Другие статьи

Все статьи
«1С-Битрикс» перешел на PHP 8.x: важно обновить ПО
04 сентября 2026
Как мобильное приложение помогло Major Express сэкономить более 1000 рабочих часов в месяц
12 ноября 2026
Студенты УлГУ представили 13 ИТ-проектов на хакатоне от компании SimbirSoft
05 ноября 2026
Понравилась статья?
Подпишитесь на рассылку SimbirSoft! Пришлём письма о лайфхаках в разработке, поделимся опытом управления командами и компанией, а также расскажем о новых ивентах SimbirSoft.
Подписаться
Успешно
Написать нам
Оставьте контакты, чтобы обсудить проект и условия
сотрудничества, или позвоните: 8 800 200-99-24
Прикрепить файл до 10Мб
Файл выбран
Можно прикрепить один файл в формате: txt, doc, docx, odt, xls, xlsx, pdf, jpg, jpeg, png.

Размер файла до 10 Мб.
Оставьте свои контакты
SimbirSoft регулярно расширяет штат сотрудников.
Отправьте контакты, чтобы обсудить условия сотрудничества.
  • Системный аналитик (банк)
  • DevOps/Build-инженер
  • Data-инженер
  • Scala-разработчик
  • Team Lead Golang разработчик
  • SRE-инженер
  • SDET Java/Kotlin
  • QA Fullstack Java\Kotlin
  • Сетевой инженер/системный аналитик
  • Tech Lead NLP Engineer
  • 1С-аналитик ЗУП
  • Системный аналитик (Минск)
  • MLOps-инженер
  • 1С-разработчик (БП, ЗУП, ERP, Oracle)
  • SDET Python
  • Архитектор IDM/IAM
  • Инженер AD + Azure AD
  • Инженер РАМ\IAM
Прикрепить резюме, до 10 Мб*
Файл выбран
Можно прикрепить один файл в формате: txt, doc, docx, odt, xls, xlsx, pdf, jpg, jpeg, png.

Размер файла до 10 Мб.
Написать нам
Расскажите, какие задачи сейчас на вашем проекте.
Проконсультируем и предложим подходящих специалистов, а также сориентируем по ставкам на выделенные команды.
Направление
Количество специалистов
Middle
TeamLead
Senior
TechLead
Прикрепить файл до 10Мб
Файл выбран
Можно прикрепить один файл в формате: txt, doc, docx, odt, xls, xlsx, pdf, jpg, jpeg, png.

Размер файла до 10 Мб.
Экспресс-консультация
Заполните все поля формы.
Эксперт свяжется с вами в течение рабочего дня.
Тематика
Прикрепить файл до 10Мб
Файл выбран
Можно прикрепить один файл в формате: txt, doc, docx, odt, xls, xlsx, pdf, jpg, jpeg, png.

Размер файла до 10 Мб.
Порекомендуйте друга — получите вознаграждение!
  • Системный аналитик (банк)
  • DevOps/Build-инженер
  • Data-инженер
  • Scala-разработчик
  • Team Lead Golang разработчик
  • SRE-инженер
  • SDET Java/Kotlin
  • QA Fullstack Java\Kotlin
  • Сетевой инженер/системный аналитик
  • Tech Lead NLP Engineer
  • 1С-аналитик ЗУП
  • Системный аналитик (Минск)
  • MLOps-инженер
  • 1С-разработчик (БП, ЗУП, ERP, Oracle)
  • SDET Python
  • Архитектор IDM/IAM
  • Инженер AD + Azure AD
  • Инженер РАМ\IAM
Ваши данные
Данные кандидата
Прикрепить резюме, до 10Мб
Файл выбран
Можно прикрепить один файл в формате: txt, doc, docx, odt, xls, xlsx, pdf, jpg, jpeg, png.

Размер файла до 10 Мб.
Отправить
Отправлено
Заказать демонстрацию
Оставьте контакты, чтобы обсудить проект и условия
сотрудничества, или позвоните: 8 800 200-99-24
Прикрепить файл до 10Мб
Файл выбран
Можно прикрепить один файл в формате: txt, doc, docx, odt, xls, xlsx, pdf, jpg, jpeg, png.

Размер файла до 10 Мб.
Будь в курсе новостей SimbirSoft