Google выпустила Android 17 Beta 1
Содержание:
Google выпустила первую сборку Android 17 Beta для устройств семейства Google Pixel, предназначенную для участников программы Android Beta Program. Приглашаем вас ознакомиться с официальным списком изменений данной сборки.
↑ Сanary вместо Developer Preview
С релизом первой бета-версии Android 17 Google объявила об отказе от программы «Developer Preview». Ранее такие сборки новой версии Android выпускались до релиза публичных Beta-сборок, были крайне нестабильны и предназначались для разработчиков и продвинутых энтузиастов. Теперь на смену «Developer Preview» приходит канал обновлений Canary, в рамках которого пользователи будут непрерывно получать новые обновления и функции.
-
Более быстрый доступ: Функции и API-интерфейсы появляются в Canary сразу после прохождения внутреннего тестирования, не дожидаясь ежеквартального релиза.
-
Повышенная стабильность: Раннее «боевое тестирование» в Canary приводит к более стабильным Beta-сборкам, где новые API и изменения поведения системы уже близки к финальному виду.
-
Упрощенное тестирование: Canary поддерживает обновления «по воздуху» (OTA) — больше не нужно прошивать устройство вручную. Будучи отдельным каналом обновлений, он проще интегрируется в рабочие процессы CI и дает вам самое раннее окно для обратной связи по грядущим изменениям.
↑ График выхода сборок Android 17. Когда релиз?
Google перешла на круглогодичный цикл разработки, чтобы быстрее внедрять инновации. Согласно дорожной карте:
-
Март 2026: Достижение этапа Platform Stability (финализация API и функционала).
-
Июнь 2026 (Q2): Полноценный релиз стабильной версии Android 17 для всех поддерживаемых устройств Pixel.
-
Конец 2026 (Q4): Выпуск минорного обновления с исправлениями и небольшими дополнениями.
↑ Официальный список изменений Androia 17 Beta 1
↑ Ограничения ориентации и изменения размера
Релиз Android 17 Beta знаменует новый этап в развитии адаптивности. Начиная с API 37, поддержка изменения размера и ориентации экрана становится обязательной. Google убрала возможность программного отказа от этих ограничений для устройств с большими экранами (sw > 600 dp).
Если ваше приложение ориентировано на SDK 37, оно должно быть полностью адаптивным. Пользователи ожидают, что их приложения будут работать безупречно в любых сценариях, будь то многозадачность на планшете, использование складного устройства или оконный режим рабочего стола. Приложение должно эффективно заполнять экранное пространство и корректно подстраиваться под текущее положение устройства.
↑ Ключевые изменения для SDK 37
Приложения, нацеленные на Android 17, должны обеспечить совместимость с поэтапным отказом от атрибутов манифеста и API времени выполнения, введенных в Android 16. При запуске на большом экране (наименьшее измерение ≥ 600dp) следующие атрибуты и API будут игнорироваться:
| Атрибут манифеста / API | Игнорируемые значения |
screenOrientation |
portrait, reversePortrait, sensorPortrait, userPortrait, landscape, reverseLandscape, sensorLandscape, userLandscape |
setRequestedOrientation() |
portrait, reversePortrait, sensorPortrait, userPortrait, landscape, reverseLandscape, sensorLandscape, userLandscape |
resizeableActivity |
все значения |
minAspectRatio |
все значения |
maxAspectRatio |
все значения |
↑ Исключения и контроль пользователя
Эти изменения касаются только больших экранов. Они не применяются к экранам размером менее sw600dp (включая традиционные форм-факторы телефонов). Кроме того, приложения, классифицированные как игры (на основе флага android:appCategory), освобождаются от этих ограничений.
Важно отметить, что контроль остается в руках пользователей.Вы можете явно включать или отключать использование стандартного поведения приложения через системные настройки соотношения сторон.
↑ Обновления изменений конфигурации (Configuration Changes)
Чтобы улучшить совместимость приложений и минимизировать прерывание воспроизведения видео или потерю состояния ввода, Google обновила поведение по умолчанию для пересоздания Activity.
Начиная с Android 17, система больше не будет по умолчанию перезапускать Activity при определенных изменениях конфигурации, которые обычно не требуют перерисовки пользовательского инетрфейса (UI). Сюда входят:
-
CONFIG_KEYBOARD -
CONFIG_KEYBOARD_HIDDEN -
CONFIG_NAVIGATION -
CONFIG_UI_MODE(когда изменяется толькоUI_MODE_TYPE_DESK) -
CONFIG_TOUCHSCREEN -
CONFIG_COLOR_MODE
Вместо этого запущенные Activity будут просто получать эти обновления через метод onConfigurationchanged.
Если вашему приложению всё же требуется полный перезапуск для обновления ресурсов, вы должны явно указать это в манифесте с помощью нового атрибута android:recreateOnConfigChanges. Он позволяет указать, какие именно изменения конфигурации должны вызывать полный жизненный цикл Activity (stop -> destroy -> create), используя соответствующие константы (mcc, mnc, а также новые: keyboard, keyboardHidden, navigation, touchscreen и colorMode).
Как подготовить приложение:
Google выпустила обновленную документацию и инструменты. Приложениям потребуется поддерживать макеты как для портретной, так и для альбомной ориентации для окон всех размеров. Ограничение ориентации теперь не поддерживается. Компания рекомендует протестировать приложение в эмуляторах Pixel Tablet или Pixel Fold, используя Android 17 Beta 1.
↑ Производительность
↑ MessageQueue без блокировок (Lock-free)
В Android 17 для приложений с SDK 37+ представлена новая реализация android.os.MessageQueue, которая не использует блокировки (lock-free). Это улучшает производительность и уменьшает количество пропущенных кадров, но может нарушить работу клиентов, использующих рефлексию для доступа к приватным полям MessageQueue.
↑ Сборка мусора по поколениям (Generational GC)
Android 17 представляет сборку мусора по поколениям для коллектора ART Concurrent Mark-Compact. Эта оптимизация вводит более частые и менее ресурсоемкие сборки «молодого поколения» наряду с полными сборками кучи, что снижает общую нагрузку на процессор и время простоя. Улучшения ART также доступны для более чем миллиарда устройств с Android 12+ через обновления системы Google Play.
↑ Поля static final теперь действительно финальные
Приложения, ориентированные на Android 17+, теперь не могут изменять поля static final. Это позволяет среде выполнения (runtime) применять более агрессивные оптимизации. Попытка изменить их через рефлексию приведет к исключению IllegalAccessException, а через JNI — к немедленному краху приложения.
↑ Ограничения для Custom Notification View
Для снижения потребления памяти ограничены размеры кастомных представлений уведомлений. Это обновление закрывает лазейку, позволявшую обходить лимиты с помощью URI. Изменение вступает в силу для приложений с targetSdkVersion 37 и выше.
↑ Новые триггеры ProfilingManager
Были добавлены новые системные триггеры: TRIGGER_TYPE_COLD_START, TRIGGER_TYPE_OOM и TRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE для более глубокой отладки производительности.
↑ Медиа и Камера
↑ Динамическое обновление сессий камеры
Представлен метод updateOutputConfigurations() для CameraCaptureSession. Он позволяет динамически подключать и отключать выходные поверхности (surfaces) без необходимости перенастраивать всю сессию захвата. Это обеспечивает плавные переходы между режимами (например, фото и видео) без рывков, черных экранов и лишних затрат памяти.
fun updateCameraSession(session: CameraCaptureSession, newOutputConfigs: List<OutputConfiguration>)) {
// Динамическое обновление сессии без закрытия и повторного открытия
try {
// Обновляем конфигурации вывода
session.updateOutputConfigurations(newOutputConfigs)
} catch (e: CameraAccessException) {
// Обработка ошибки
}
}
↑ Метаданные логической мультикамеры
При работе с логическими камерами теперь можно запрашивать метаданные от всех активных физических камер, участвующих в захвате, используя новый ключ LOGICAL_MULTI_CAMERA_ADDITIONAL_RESULTS.
↑ Поддержка Versatile Video Coding (VVC)
Android 17 добавляет поддержку стандарта H.266 (VVC). Теперь система включает в себя новый MIME-тип video/vvc, новые профили в MediaCodecInfo и поддержку в MediaExtractor. Функция будет доступна на устройствах с аппаратной поддержкой декодирования.
↑ Постоянное качество (Constant Quality) для видео
Добавлен метод setVideoEncodingQuality() в MediaRecorder. Это позволяет настроить режим постоянного качества (CQ) для видеокодеров, давая более тонкий контроль над качеством, чем простые настройки битрейта.
↑ Усиление контроля за фоновым аудио
Аудиофреймворк теперь принудительно ограничивает взаимодействие с фоновым аудио (воспроизведение, запрос фокуса, изменение громкости), чтобы гарантировать, что эти действия инициированы пользователем намеренно. Если приложение попытается вызвать аудио-API вне допустимого жизненного цикла, вызовы завершатся тихим сбоем (без исключения), а запрос аудиофокуса вернет AUDIOFOCUS_REQUEST_FAILED.
↑ Безопасность и связь
-
Отказ от Cleartext Traffic. Атрибут
android:usesCleartextTrafficпризнан устаревшим. Приложения (targetSdk 17+), полагающиеся на него без настройки сетевой безопасности, по умолчанию будут запрещать незашифрованный трафик. -
HPKE Hybrid Cryptography. Внедрен публичный интерфейс SPI для реализации гибридной криптографии HPKE, сочетающего открытые ключи и симметричное шифрование (AEAD).
-
Улучшенная история звонков VoIP. В системную «звонилку» добавлена поддержка аватаров для VoIP-вызовов (из WhatsApp, Telegram и др.) и более гибкое управление приватностью логов.
-
Wi-Fi Ranging. Добавлены новые возможности для определения близости и реализована поддержка безопасного обнаружения устройств (peer-to-peer) с использованием стандарта 11az.
↑ Улучшения для разрабочтиков
В CompanionDeviceManager добавлены два новых профиля:
-
Медицинские устройства (Medical Devices). Медицинские приложения теперь могут запрашивать все необходимые разрешения одним нажатием.
-
Фитнес-трекеры (Fitness Trackers). Профиль для фитнес-браслетов обеспечивает корректное отображение иконок и переиспользование разрешений, характерных для носимых устройств.
Также внедрен единый диалог для сопряжения устройств и запроса разрешений на поиск устройствпоблизости (Nearby), что уменьшает количество всплывающих окон для пользователя.
↑ Какие устройства получат Android 17 Beta 1?
Первая бета-версия уже доступна для большинства устройств 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 1?
Если у вас есть одно из перечисленных устройств, вы можете вступить в Android Beta Program на официальном сайте. Если вы уже являетесь участником программы бета-тестирования, уведомление о доступности OTA-обновления появится автоматически в ближайшее время.
Обратите внимание, что если у вас установлена бета-версия 26Q1 и вы хотите получить финальный стабильный релиз 26Q1 (выйдя из беты), вам нужно проигнорировать обновление до 26Q2 Beta 1.
Желаем вам удачного обновления!
ИсточникМинимальная длина комментария — 50 знаков. Комментарии модерируются.
Нет комментариев.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

