logo

Google выпустила Android 17 Beta 2

72
0

Google выпустила вторую сборку Android 17 Beta для устройств семейства Google Pixel, предназначенную для участников программы Android Beta Program. Обновление продолжает парадигму развития платформы с упором на конфиденциальность, безопасность и улучшенную производительность. В этой сборке разработчики добавили ряд новых API, включая системную «пипетку» цветов, безопасный выбор контактов, новые стандарты позиционирования и возможность бесшовной передачи задач между устройствами.

Визуальные UI изменения и UX в интерфейсе системы

Плавающие окна (Bubbles)

Функция «Пузырей» (Bubbles), ранее доступная в основном для мессенджеров, теперь работает как полноценный режим оконного интерфейса. Пользователи смартфонов, планшетов и складных устройств могут превратить любое приложение в плавающее окно долгим нажатием на его иконку на рабочем столе. На больших экранах в панели задач (taskbar) появилась специальная область — bubble bar, где окна можно группировать и закреплять в определенных точках экрана.

Системный API «Пипетка» (EyeDropper)

Google внедрила инструмент EyeDropper на системном уровне. Новый API позволяет приложению запрашивать у пользователя цвет любого пикселя на экране. Главный плюс: для этого больше не требуется запрашивать чувствительное разрешение на захват экрана (screen capture).

val eyeDropperLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
  result -> if (result.resultCode == Activity.RESULT_OK) {
    val color = result.data?.getIntExtra(Intent.EXTRA_COLOR, Color.BLACK)
    // Использование выбранного цвета в приложении
  }
}

fun launchColorPicker() {
  val intent = Intent(Intent.ACTION_OPEN_EYE_DROPPER)
  eyeDropperLauncher.launch(intent)
}

Приватный выбор контактов (Contacts Picker)

Новый системный инструмент ACTION_PICK_CONTACTS предоставляет приложениям временный сессионный доступ к контактам. Вместо того чтобы запрашивать глобальное разрешение на чтение всей телефонной книги (READ_CONTACTS), приложение получит доступ только к тем полям конкретного контакта, которые выбрал сам пользователь (например, только к email или только к номеру телефона). Также поддерживается выбор между личным и рабочим профилями.

val contactPicker = rememberLauncherForActivityResult(StartActivityForResult()) {
    if (it.resultCode == RESULT_OK) {
        val uri = it.data?.data ?: return@rememberLauncherForActivityResult
        // Handle result logic
        processContactPickerResults(uri)
    }
}

val dataFields = arrayListOf(Email.CONTENT_ITEM_TYPE, Phone.CONTENT_ITEM_TYPE)
val intent = Intent(ACTION_PICK_CONTACTS).apply {
    putStringArrayListExtra(EXTRA_PICK_CONTACTS_REQUESTED_DATA_FIELDS, dataFields)
    putExtra(EXTRA_ALLOW_MULTIPLE, true)
    putExtra(EXTRA_PICK_CONTACTS_SELECTION_LIMIT, 5)
}

contactPicker.launch(intent)

Улучшенная работа с тачпадами

Ранее, когда приложение захватывало указатель (например, в играх от первого лица), тачпады передавали абсолютные координаты касаний пальцев, а не относительные движения, как это делают мыши. Это ломало управление в играх. Теперь система по умолчанию будет распознавать движения по тачпаду как события мыши. Старый режим абсолютных координат по-прежнему доступен по запросу разработчика.

// To request the new default relative mode (mouse-like events)
// This is the same as requesting with View.POINTER_CAPTURE_MODE_RELATIVE
view.requestPointerCapture()

// To request the legacy absolute mode (raw touch coordinates)
view.requestPointerCapture(View.POINTER_CAPTURE_MODE_ABSOLUTE)

Связь и кросс-платформенность

Бесшовная передача задач (Cross-device app handoff)

Одно из самых интересных нововведений — API Handoff. Разработчики теперь могут сохранять состояние приложения, чтобы пользователь мог продолжить работу на другом устройстве (например, начать писать текст на смартфоне и в один клик продолжить на Android-планшете).

Синхронизация происходит через CompanionDeviceManager. На соседнем устройстве в лаунчере появится предложение продолжить задачу. Что важно: функция поддерживает переход не только от приложения к приложению (app-to-app), но и от приложения к веб-версии (app-to-web), если нужная программа не установлена на принимающем устройстве.

Продвинутые технологии позиционирования

В Android 17 внедрена поддержка двух новых технологий:

  1. UWB DL-TDOA: Позволяет использовать сверхширокополосную связь (UWB) для точной навигации внутри помещений без ущерба для приватности. Главная особенность метода DL-TDOA — соблюдение конфиденциальности: навигация происходит без риска отслеживания устройства пользователя со стороны внешних «якорей».

  2. Proximity Detection: Новая спецификация от Wi-Fi Alliance, обеспечивающая более высокую точность и надежность определения расстояния по сравнению с текущим стандартом Wi-Fi Aware.

Базовые функции, конфиденциальность и безопасность

Доступ к локальной сети (Local Network Access)

Для защиты от скрытого отслеживания в локальных сетях (LAN) Google вводит новое разрешение времени выполнения — ACCESS_LOCAL_NETWORK. Приложениям придётся запрашивать его для поиска умных колонок, устройств умного дома или каст-ресиверов. Поскольку оно входит в группу NEARBY_DEVICES, пользователи, уже давшие доступ к ближайшим устройствам, не увидят повторного окна.

Рассылка об изменении смещения часового пояса

Разработчики Android добавили новый надежный интент широковещательной рассылки (broadcast intent) ACTION_TIMEZONE_OFFSET_CHANGED. Он срабатывает, когда меняется смещение часового пояса системы — например, при переходе на летнее или зимнее время. Это нововведение дополняет уже существующие интенты ACTION_TIME_CHANGED (срабатывает при изменении метки времени Unix) и ACTION_TIMEZONE_CHANGED (реагирует на смену идентификатора часового пояса).

Отложенный доступ к SMS-сообщениям с одноразовыми паролями (OTP)

Google кардинально меняет правила доступа к SMS с кодами подтверждения, чтобы защитить пользователей от перехвата паролей:

  • Сообщения в формате WebOTP: Если приложение имеет разрешение на чтение SMS, но не является целевым получателем пароля (это система определяет путем проверки домена), доступ к SMS в формате WebOTP будет заблокирован на три часа. Это гарантирует, что программно прочитать код подтверждения смогут только те приложения, которые напрямую связаны с доменом, указанным в тексте сообщения. Данное правило применяется ко всем приложениям, независимо от их целевого уровня API (target SDK).

  • Стандартные SMS с кодами (OTP): Для сообщений, которые не используют форматы WebOTP или специальный SMS Retriever, доступ для большинства сторонних приложений также будет задерживаться на три часа. Это изменение коснется только тех программ, которые нацелены на Android 17 (API 37) или выше.

  • Исключения: От этой трехчасовой задержки освобождаются некоторые системные программы, такие как SMS-клиент по умолчанию, голосовой ассистент, а также приложения-компаньоны для подключенных устройств (умных часов, браслетов и т. д.).

Google настоятельно рекомендует: все разработчики, чьи приложения полагаются на чтение входящих сообщений для извлечения кодов, должны перейти на использование современных API SMS Retriever или SMS User Consent. Только так можно гарантировать, что авторизация продолжит работать без сбоев.

Обязательное декларирование NPU

Приложения, которым требуется прямой доступ к нейропроцессору (NPU) — включая использование LiteRT NPU, вендорских SDK или устаревшего NNAPI, — теперь обязаны явно указывать флаг FEATURE_NEURAL_PROCESSING_UNIT в манифесте. В противном случае доступ к NPU будет заблокирован системой.

Поддержка ICU 78 и Unicode 17

Google обновила базовые библиотеки интернационализации до версии ICU 78. Это масштабное обновление расширяет поддержку новых систем письма, символов и свежих блоков эмодзи. Кроме того, разработчики получили возможность прямого форматирования объектов времени.

Исправления ошибок и повышение стабильности в Beta 2

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

  • Самопроизвольный перезапуск приложений: Исправлена регрессия стабильности платформы (появившаяся ещё в Android 16), из-за которой активные приложения могли неожиданно перезапускаться или обновляться. Это приводило к потере прогресса пользователя и периодическому мерцанию интерфейса. (#440017096)

  • Сбои System UI и зависания:

    • Устранена критическая нестабильность системы, вызывавшая зависания и перезагрузки устройства при переключении между приложениями или обращении к системным службам. (#419070024, #428572458, #430393241, #424912278, #431440391, #426346396)

    • Исправлен баг, приводивший к зависанию (deadlock) экрана блокировки и дисплея после отключения смартфона от Android Auto. (#457527675)

    • Устранён критический сбой, который возникал при многократном переходе в настройки экрана и сенсора (Display and Touch). (#474486679)

  • Проблемы с интерфейсом и навигацией:

    • Исправлена ошибка, из-за которой закрытие папки на рабочем столе блокировало немедленные последующие действия (например, нельзя было сразу открыть другую папку или перелистнуть экран). (#470541347, #471533397, #477848604)

    • Устранена регрессия верстки на экране недавних приложений (Recent Apps) у пользователей, использующих немецкий язык системы. (#476830557, #486511401)

    • Исправлена опечатка в системном окне разрешений на геолокацию, где кнопка «Back» («Назад») ошибочно отображалась как «Bac». (#460242870, #477245738)

    • В сканере QR-кодов для беспроводной отладки стрелка «Назад» больше не перекрывает значок QR. (#474769647)

  • Обои, звуки и уведомления:

    • Устранен постоянный сбой, который не позволял пользователям открыть настройки «Обои и стиль» с главного экрана. (Issue #478520173)

    • Исправлен баг в настройках звука: теперь при выборе рингтона его превью воспроизводится корректно. (#355086959, #375840924, #381007949, #381077928, #419301121, #452646483, #468837747)

    • Улучшена логика службы уведомлений. Ранее после обновления системы пользователи получали дублирующиеся (старые) уведомления — теперь они корректно очищаются при перезапуске. (#454647834)

    • Исправлена ошибка на заставке часов (screensaver), из-за которой в 24-часовом формате пропадал ведущий ноль при слабом освещении. (#444255729)

  • Системное меню и графика:

    • Разделы «Живой перевод» (Live Translate) и «Правила» (Rules) теперь находятся в правильных категориях системного меню. (#476754995)

    • Для владельцев Pixel 6 Pro: Исправлена ошибка оптимизации компилятора шейдеров GPU, из-за которой некоторые математические выражения GLSL вычислялись неверно. Это вызывало визуальные артефакты при рендеринге в сторонних приложениях. (#473226715)

  • Для разработчиков (Видео): Повышена надежность потоковой передачи видео. Теперь разработчики могут подтверждать поддержку временного расслоения (temporal layering) через метод getOutputFormat после настройки кодировщика, что решает проблему с отсутствующими метаданными зависимости кадров. (#306222291)

  • Устранены прочие системные сбои, приводившие к спонтанной перезагрузке и прерыванию работы устройства. (#413562426)

График выхода сборок Android 17. Когда релиз?

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

  • Март 2026: Достижение этапа Platform Stability (финализация API и функционала).

  • Июнь 2026 (Q2): Полноценный релиз стабильной версии Android 17 для всех поддерживаемых устройств Pixel.

  • Конец 2026 (Q4): Выпуск минорного обновления с исправлениями и небольшими дополнениями.

Какие устройства получат Android 17 Beta 2?

Вторая бета-версия уже доступна для большинства устройств Google Pixel, вот полный список:

  • Серия Pixel 10: Pixel 10, 10 Pro, 10 Pro XL, 10 Pro Fold.

  • Серия Pixel 9: Pixel 9, 9 Pro, 9 Pro XL, 9 Pro Fold, 9a.

  • Серия Pixel 8: Pixel 8, 8 Pro, 8a.

  • Серия Pixel 7: Pixel 7, 7 Pro, 7a.

  • Серия Pixel 6: Pixel 6, 6 Pro, 6a.

  • Другие: Pixel Tablet, Pixel Fold.

Как установить Android 17 Beta 2?

Если у вас есть одно из перечисленных устройств, вы можете вступить в Android Beta Program на официальном сайте. Если вы уже являетесь участником программы бета-тестирования, уведомление о доступности OTA-обновления появится автоматически в ближайшее время.

Обратите внимание, что если у вас установлена бета-версия 26Q1 и вы хотите получить финальный стабильный релиз 26Q1 (выйдя из беты), вам нужно проигнорировать обновление до 26Q2 Beta 2.

Для разработчиков, не имеющих Pixel, доступны 64-битные образы системы для эмулятора Android в последней Preview-версии Android Studio (Panda).

Желаем вам удачного обновления!

Яндекс.Метрика
Top.Mail.Ru
Мы используем файлы cookie или аналогичные технологии для улучшения работы сайта. Оставаясь на сайте, вы соглашаетесь с нашей Политикой конфиденциальности.