Найти в Дзене

Код в машине. Android Automotive: С чего начать и куда жать

Мир полон отличных и не очень мобильных приложений, ваш код работает на миллионах девайсов в карманах пользователей. Но это все еще «малый экран». А как насчет того, чтобы ваш софт крутился на дашборде Polestar или Volvo? Раньше разработка под Automotive была похожа на закрытый клуб масонов: свои проприетарные системы, SDK, которые выдавали только по подписке кровью, и документация которую походу специально шифром непонятным на случай оккупации писали. Но потом пришел Google, и понял что тут он еще не зарабатывал. Так появился Android Automotive OS (AAOS). И нет, это не тот Android Auto - зеркало который транслирует карты с вашего телефона на экран машины. Давайте сразу это запомним ибо путаница здесь колоссальная. С теорией разобрались. Теперь к практике: как войти в этот дивный новый мир, не покупая тестовый автомобиль за 60 000 евро? Хорошая новость для Android-разработчиков: вам не придется учить новый язык или пересаживаться на другую IDE. Все та же Android Studio — наше всё. Goo
Оглавление

Мир полон отличных и не очень мобильных приложений, ваш код работает на миллионах девайсов в карманах пользователей. Но это все еще «малый экран». А как насчет того, чтобы ваш софт крутился на дашборде Polestar или Volvo?

Раньше разработка под Automotive была похожа на закрытый клуб масонов: свои проприетарные системы, SDK, которые выдавали только по подписке кровью, и документация которую походу специально шифром непонятным на случай оккупации писали. Но потом пришел Google, и понял что тут он еще не зарабатывал. Так появился Android Automotive OS (AAOS).

И нет, это не тот Android Auto - зеркало который транслирует карты с вашего телефона на экран машины. Давайте сразу это запомним ибо путаница здесь колоссальная.

Polestar - дашборд
Polestar - дашборд

Android Auto vs Android Automotive: В чем разница?

  • Android Auto — это просто «второй монитор». Мозги приложения крутятся у вас в телефоне, машина просто показывает картинку. Забыли телефон дома — остались без навигации и музыки.
  • Android Automotive OS — это полноценная операционка, которая живет в самой машине. Она управляет климатом, радио, настройками подвески и, конечно, вашими приложениями. Ей не нужен телефон. Это и есть тот самый «смартфон на колесах», о котором так любят кричать маркетологи.

С теорией разобрались. Теперь к практике: как войти в этот дивный новый мир, не покупая тестовый автомобиль за 60 000 евро?

Шаг 1: Инструментарий (Спойлер: ничего нового)

Хорошая новость для Android-разработчиков: вам не придется учить новый язык или пересаживаться на другую IDE. Все та же Android Studio — наше всё.

Google (при всей своей любви убивать проекты) сделал грамотный ход: они унифицировали разработку. Если вы умеете писать на Kotlin/Java под телефон, вы уже на 80% умеете писать под машину.

Шаг 2: Создаем «Виртуальный Гараж»

Вам не нужна реальная машина. Вам нужен правильный эмулятор.
В Android Studio заходим в SDK Manager и ищем вкладку
SDK Platforms. Ставим галочку напротив Android 12L (Sv2) или новее — именно на них сейчас базируется большинство свежих AAOS.

Далее идем в AVD Manager (Device Manager):

  1. Жмем Create Device.
  2. В категории выбираем Automotive.
  3. Видим профиль «Automotive (1024p landscape)».
  4. Качаем образ (System Image) с поддержкой Google Play. Это важно! Есть образы AOSP (чистый андроид), а есть с сервисами Google (GAS). Для старта берите с GAS — там есть привычный магазин, карты и рабство Google акаунта.
-2

Запускаем. Вуаля! У вас на мониторе крутится система Volvo или Renault (ну, почти).

Шаг 3: Что будем писать? (Ограничения жанра)

А вот тут начинается суровая реальность автопрома. Вы не можете просто взять и портировать туда любое приложение. Google и автопроизводители параноидально (и справедливо) относятся к безопасности.

В мире AAOS приложения делятся на жесткие категории:

  1. Media Apps: Музыка, подкасты, радио. Самый популярный и простой путь. Используем MediaBrowserService. Интерфейс система нарисует сама (!), чтобы кнопки были большими, а водитель не щурился.
  2. Messaging: Читать сообщения за рулем нельзя, слушать — можно. Тут тоже жесткие шаблоны.
  3. Navigation: Карты, зарядки, парковки.
  4. POI (Point of Interest): Приложения для поиска еды или достопримечательностей.
  5. Video / Gaming: Работают только когда машина припаркована (Parked State). Да, теперь можно официально смотреть YouTube или гонять в Dota, пока машина на зарядке.

Шаг 4: Дизайн, который не убивает

Если в мобильной разработке мы боремся за pixel-perfect, то в Automotive мы боремся за Driver Distraction Guidelines.
Главное правило: водитель не должен отвлекаться от дороги дольше, чем на пару секунд.

  • Шрифты — огромные.
  • Кнопки — такие, чтобы попасть пальцем на ухабе.
  • Цвета — контрастные (день/ночь).

Google даже выпустил специальную библиотеку: Car App Library. Она берет на себя всю грязную работу по отрисовке UI. Вы просто скармливаете ей данные, а она рисует стандартизированные шаблоны, которые гарантированно пройдут ревью в сторе. И поверьте, пройти ревью в Automotive Store сложнее, чем в обычном Google Play.

Итого: План действий

  1. Качаем Automotive System Image в Android Studio.
  2. Изучаем Car App Library (это ваша библия).
  3. Берем сэмпл от Google (например, Universal Music Player адаптированный под авто) и разбираем его на винтики.
  4. Пробуем запустить на эмуляторе.

Индустрия сейчас голодная. OEM-производители (BMW, Ford, GM, Honda) наконец-то поняли, что железо больше не продает машины. Машины продает экспириенс. И именно мы, разработчики, этот экспириенс создаем.

Так что, пока Tesla пытается делать всё сама в своей закрытой песочнице, остальной мир переходит на Android Automotive. И места там пока предостаточно.