Wydanie platformy mobilnej Android 17

Google udostępniło otwartą platformę mobilną. Android 17. Связанные с новым выпуском исходные тексты размещены в Git-репозитории проекта (ветка android-17.0.0_r1). Сборки прошивки подготовлены для устройств Pixel 6/6a/6 Pro, Pixel 7/7a/7 Pro, Pixel 8/8a/8 Pro, Pixel 9/9a/9 Pro/9 Pro XL/9 Pro Fold, Pixel 10/10 Pro/10 Pro XL/10 Pro Fold, Pixel Fold и Pixel Tablet. Предварительные сборки прошивок доступны для устройств HONOR, iQOO, Lenovo, OnePlus, OPPO, realme, Sharp, vivo и Xiaomi. В процессе формирования универсальные сборки GSI (Generic System Images), подходящие для разных устройств на базе архитектур ARM64 и x86_64.

Среди изменений (1, 2, 3):

  • Dodano nowy tryb wielookienkowy „Bąbelki”. Umożliwia on uruchamianie dowolnej aplikacji w oknach ruchomych, podobnie jak nakładki powiadomień do wysyłania wiadomości („bąbelki”), ale nie jest powiązany ze specjalistycznym API. Otwieranie aplikacji w oknie ruchomym odbywa się poprzez długie naciśnięcie ikony aplikacji. Na większych ekranach ikony okien ruchomych pojawiają się w oddzielnym obszarze na pasku zadań. Okna te można grupować, przenosić i przypinać do ekranu.

  • Kontynuowano rozwój platform dla urządzeń z dużymi ekranami, takich jak tablety, laptopy, komputery stacjonarne i smartfony ze składanymi ekranami. Wcześniej włączone opcje wyłączania nowego zachowania na urządzeniach z ekranami o przekątnej większej niż 600 pikseli (dp) zostały usunięte. To zachowanie było związane z ignorowaniem niektórych interfejsów API do zarządzania zmianą rozmiaru i orientacji ekranu (screenOrientation, resizeableActivity, [min|max]AspectRatio), a także adaptacyjnym rozmieszczaniem aplikacji w oknach o zmiennym rozmiarze i ruchomych.

  • Dodano interfejs API systemu EyeDropper, umożliwiający aplikacjom uzyskiwanie informacji o kolorze dla dowolnego piksela na ekranie bez konieczności uzyskiwania uprawnień do przechwytywania ekranu. Bezpieczeństwo jest zapewnione dzięki możliwości wyboru obszaru do przechwycenia koloru za pośrednictwem interfejsu kroplomierza zarządzanego przez platformę, który nie jest kontrolowany przez aplikację. Oznacza to, że aplikacje nie mogą żądać informacji o konkretnym pikselu ani odtwarzać zawartości ekranu piksel po pikselu.

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

  • Dodano interfejs API PhotoPickerUiCustomizationParams, aby dostosować interfejs selektora zdjęć, dzięki czemu lepiej pasuje do stylu aplikacji wywołującej. Na przykład, można zmienić proporcje miniatur zdjęć z 1:1 (kwadrat) na 9:16 (pion).

  • Dodano uprawnienie USE_LOCATION_BUTTON, które umożliwia osadzenie przycisku systemowego w interfejsie aplikacji w celu udzielenia dostępu do precyzyjnych danych o lokalizacji. Przycisk jest generowany przez system i po kliknięciu przez użytkownika udziela dostępu do danych o lokalizacji tylko na czas trwania bieżącej sesji.

  • Dodano ustawienie umożliwiające ukrycie wyświetlania nazw aplikacji pod ich ikonami.
  • Zmieniono wygląd paska narzędzi do nagrywania screencastów.

  • Добавлена поддержка экранных реакций (Screen Reactions), совмещающих запись видео с передней камеры с созданием скринкаста для наложения своих комментариев к действиям на экране.


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

  • Добавлен API Handoff, позволяющий передать состояние приложения на находящееся поблизости другое Android-устройство (например, планшет) и продолжить там работу.

  • Wprowadzono interaktywne okna dokowane, które w przeciwieństwie do tradycyjnych okien obrazu w obrazie pozostają interaktywne po zadokowaniu nad innymi aplikacjami w trybie pulpitu.
  • Dodano dwa nowe interfejsy API: interfejs API UWB DL-TDOA służący do określania położenia urządzenia wewnątrz budynku przy użyciu sieci Wi-Fi w celu nawigacji wewnątrz budynków oraz interfejs API Proximity Detection służący do wykrywania pobliskich urządzeń przez sieć Wi-Fi.
  • Dodano obsługę formatu wideo VVC (Versatile Video Coding), znanego również jako standard kompresji wideo H.266, opracowanego wspólnie przez grupy robocze MPEG (ISO/IEC JTC 1) i VCEG (ITU-T) z udziałem takich firm jak Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm i Sony. Standard H.266 zastępuje standard H.265 (HEVC) i zapewnia wysoką wydajność transmisji i przechowywania danych dla wszystkich rozdzielczości ekranu (od SD i HD do 4K i 8K), obsługuje również wideo o dużym zakresie dynamiki (HDR) oraz filmy panoramiczne 360 ​​stopni.
  • Dodano możliwość nagrywania wideo ze stałym poziomem jakości. Ten tryb jest konfigurowany w obiekcie MediaRecorder za pomocą metody setVideoEncodingQuality(), co pozwala na zablokowanie poziomu jakości niezależnie od przepływności.
  • Добавлена поддержка формата изображений RAW14, применяемого в профессиональных цифровых камерах и обеспечивающего хранение 15 бит на цветовой канал.
  • Добавлено поддержка формата HDR-видео Eclipsa Video.
  • Dodano koder programowy dla formatu audio HE-AAC (High-Efficiency Advanced Audio Coding), obsługujący niskie i wysokie przepływności.
  • Dodano nowe uprawnienie ACCESS_LOCAL_NETWORK, które ogranicza dostęp aplikacji do sieci lokalnej. Uprawnienie to pozwala aplikacjom identyfikować i łączyć się z urządzeniami w sieci lokalnej, takimi jak inteligentne urządzenia domowe i systemy multimedialne. Uprawnienie to zostało dodane, aby uniemożliwić złośliwym aplikacjom skanowanie zasobów sieci lokalnej, na przykład w celu ukrytej identyfikacji środowiska użytkownika.
  • Rozszerzono ochronę przed przechwyceniem jednorazowych haseł (OTP) i kodów potwierdzających wysyłanych SMS-em. Większość aplikacji ma teraz bezpośredni dostęp do tych wiadomości dopiero po trzech godzinach od ich otrzymania. Domyślny czytnik SMS wyświetla te wiadomości natychmiast.
  • Реализована защита от звонков мошенников, представляющихся сотрудниками банка. Платформа может взаимодействовать с установленными банковскими приложениями для подтверждения того, что звонок инициирован банком. Также банки могут определять номера телефонов на которых допускаются только входящие звонки.
  • Добавлена возможность предоставления приложениям временного доступа к данным о точном местоположении, действующего только в течение текущего сеанса работы с программой.
  • Механизм защиты динамической загрузки кода (DCL, Dynamic Code Loading) расширен для применения с нативными библиотеками, загружаемыми через метод System.load(), а не только
    файлами в форматах DEX и JAR. DCL позволяет избежать подстановки вредоносного кода в динамически загружаемые исполняемые файлы, благодаря выставлению для подобных файлов прав доступа, допускающих только чтение.
  • Mechanizm Przejrzystości Certyfikatów jest domyślnie włączony i umożliwia prowadzenie publicznego rejestru wszystkich wydanych i odwołanych certyfikatów.
  • Wprowadzono możliwość certyfikowania pakietów APK za pomocą podpisu cyfrowego bazującego na hybrydowym algorytmie łączącym algorytm klasyczny z algorytmem ML-DSA, który jest odporny na ataki siłowe na komputerze kwantowym.
  • Для приложений, работающих в фоновом режиме, ограничен доступ к API для воспроизведения звука, подключения к звуковым устройствам и изменения громкости. Подразумевается, что только активные приложения, с которыми в данный момент взаимодействует пользователь, могут начинать воспроизведение и менять громкость.
  • Dodano obsługę szyfrowania hybrydowego opartego na mechanizmie HPKE (Hybrid Public Key Encryption, RFC 9180), który łączy łatwość przesyłania klucza w przypadku szyfrowania kluczem publicznym z wysoką wydajnością szyfrowania symetrycznego (dane są szyfrowane szybkim kluczem symetrycznym, a sam klucz jest szyfrowany wolnym kluczem asymetrycznym).
  • При вводе паролей и PIN-кодов при помощи физической клавиатуры по умолчанию отключено отображение последнего введённого символа по мере набора.
  • Aby uprościć implementację obsługi touchpada w grach, ujednolicono obsługę zdarzeń myszy i touchpada. Domyślnie zdarzenia touchpada związane z ruchami wskaźnika i gestami przewijania są teraz konwertowane na współrzędne względne, tak jak w przypadku myszy. Dostęp do współrzędnych bezwzględnych jest możliwy poprzez jawne określenie trybu POINTER_CAPTURE_MODE_ABSOLUTE.
  • Do obiektu ChooserSession dodano metodę getInitialRestingBounds(), która umożliwia sprawdzenie końcowej pozycji i rozmiaru okna dialogowego Chooser po zatrzymaniu animacji i załadowaniu danych.
  • Dodano metody getStreamingAppMaxDownlinkKbps i getStreamingAppMaxUplinkKbps umożliwiające określenie maksymalnej przepustowości kanału komunikacyjnego w celu wybrania poziomu jakości przesyłania strumieniowego.
  • Producentom sprzętu udostępniono interfejs API umożliwiający tworzenie rozszerzeń kamer umożliwiających korzystanie z funkcji specyficznych dla danej aplikacji, takich jak mechanizm poprawy szczegółów Super Resolution, tryby redukcji szumów i optymalizatory jakości AI.
  • Dodano API umożliwiające uzyskanie informacji o typie kamery (wbudowana kamera, kamera internetowa USB lub kamera wirtualna).
  • Dodano obsługę aparatów słuchowych podłączonych przez Bluetooth Low Energy (BLE). Urządzenia te są teraz klasyfikowane w nowej kategorii TYPE_BLE_HEARING_AID, co pozwala aplikacjom odróżniać aparaty słuchowe od słuchawek oraz oddzielnie sterować odtwarzaniem dźwięku w systemie (na przykład powiadomienia, dzwonki i alarmy można odtwarzać na wbudowanym głośniku telefonu, a nie na aparacie słuchowym).
  • Dodano osobne ustawienia wyświetlania haseł wprowadzanych na klawiaturze fizycznej i ekranie dotykowym. Domyślnie znaki hasła wprowadzane za pomocą klawiatury fizycznej są natychmiast ukrywane.
  • Poprawiono wyświetlanie widżetów aplikacji na ekranach zewnętrznych poprzez uwzględnienie różnic w rozdzielczości DPI podczas skalowania.
  • Dodano żądanie ACTION_VPN_APP_EXCLUSION_SETTINGS, którego można użyć do otwarcia ekranu systemowego z ustawieniami umożliwiającymi aplikacji dostęp do sieci z pominięciem tunelu VPN.
  • Dodano obsługę funkcji języka OpenJDK 25 i klas Java.
  • Rozszerzono możliwości API kamery. Do obiektu CameraCaptureSession dodano metodę updateOutputConfigurations(), która umożliwia dołączanie i odłączanie regionów wyjściowych w locie, bez konieczności rekonfigurowania całej sesji przechwytywania obrazu z kamery. Ta zmiana umożliwia płynne przełączanie między różnymi trybami pracy kamery (na przykład nagrywanie wideo i robienie zdjęć). Podczas pracy z kamerami logicznymi obejmującymi wiele czujników fizycznych dodano możliwość pobierania metadanych dla każdego czujnika, a nie tylko dla czujnika głównego.
  • Atrybut android:usesCleartextTraffic, który umożliwiał aplikacjom przesyłanie niezaszyfrowanego ruchu, takiego jak żądania „http://”, został wycofany. Jeśli wymagany jest niezaszyfrowany ruch, należy użyć oddzielnych plików konfiguracji zabezpieczeń.
  • Dodano ustawienia zarządzania historią połączeń VoIP, dzięki którym można kontrolować, czy informacje mają być zapisywane w dziennikach i czy informacje o zakończonych połączeniach mają być wyświetlane w interfejsie.
  • Interfejs API Wi-Fi RTT (Round-Trip-Time) został rozszerzony w celu zapewnienia ciągłej oceny bliskości punktów dostępowych i bezpiecznego wykrywania węzłów peer-to-peer.
  • Do CompanionDeviceManager dodano nowe profile umożliwiające żądanie uprawnień i umożliwienie interakcji aplikacji z urządzeniami medycznymi i monitorami aktywności fizycznej.
  • В Android Runtime (ART) реализован поколенческий сборщик мусора (Generational Concurrent Mark-Compact Garbage Collector), использующий раздельную обработку «старых» и «молодых» объектов, что повышает эффективность очистки недавно созданных объектов с небольшим временем жизни. Применение поколенческого сборщика мусора уменьшает риск приостановок во время выделения ресурсов и снижает нагрузку на CPU, что повышает эффективность потребления энергии.
  • Реализовано ограничение на максимальный объём оперативной памяти, которое может занимать приложение. При превышении лимита, вычисляемого на основе имеющегося в устройстве ОЗУ, приложение принудительно завершается. Для сокращения размера потребляемой памяти предложен R8 Optimizer, упаковывающий имена классов, методов и полей, а также удаляющий неиспользуемый код и ресурсы.
  • При сборке ядра Linux включена оптимизация AutoFDO (Auto-Feedback-Directed Optimization), использующая результаты профилирования c информацией о частоте выполнения различных участков кода для повышения производительности часто выполняемых операций. В проведённых тестах включение AutoFDO для ядра привело к сокращению времени загрузки на 2.1%, ускорению первого запуска программ на 4.3%, повышению эффективности системных вызовов на 9.3%, сокращению времени выполнения mmap-транзакций Binder на 12.3%, HwBinder на 20% и Binder RPC на 21.7%.
  • Zaproponowano nową implementację kolejki komunikatów android.os.MessageQueue, działającą bez blokad. Ta nowa implementacja poprawia wydajność i zmniejsza utratę ramek.
  • Приложениям, заявляющим о поддержке Android 17 и более новых выпусков, запрещено изменять значения полей, помеченных как «static final», что позволяет задействовать более агрессивные оптимизации производительности в runtime.
  • Aby zmniejszyć zużycie pamięci, ograniczono rozmiar niestandardowych układów widoku powiadomień.
  • Do profilera ProfilingManager dodano dodatkowe wyzwalacze TRIGGER_TYPE_COLD_START, TRIGGER_TYPE_OOM i TRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE w celu zbierania danych przydatnych przy debugowaniu problemów z wydajnością.

Źródło: opennet.ru

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster