Firma Google wydanie otwartej mobilnej platformy . Związane z nowym wydaniem teksty źródłowe znajdują się w projekcie (gałąź android-11.0.0_r1). Aktualizacje oprogramowania są przygotowane dla urządzeń z serii , a także dla smartfonów produkcji OnePlus, Xiaomi, OPPO i Realme. Ponadto są dostępne uniwersalne obrazy systemowe GSI (Generic System Images), które są kompatybilne z różnymi urządzeniami opartymi na architekturach ARM64 i x86_64.
:
- Wprowadzono zmiany mające na celu uproszczenie komunikacji użytkowników za pomocą smartfona. W rozwijanym obszarze powiadomień na górze ekranu wprowadzono sekcję zbiorczą wiadomości, która pozwala na przeglądanie i odpowiadanie na wiadomości ze wszystkich aplikacji w jednym miejscu (wiadomości są wyświetlane bez podziału na poszczególne aplikacje). Ważnym czatom można przypisać status priorytetowy, aby były one zawsze widoczne i wyświetlane nawet w trybie "nie przeszkadzać".
Aktywowano koncepcję "bąbelków", wyskakujących dialogów do wykonywania działań w innych aplikacjach bez opuszczania bieżącego programu. Na przykład za pomocą bąbelków można kontynuować rozmowę w komunikatorze, szybko wysyłać wiadomości, mieć na oku listę zadań, prowadzić notatki, korzystać z usług tłumaczenia i otrzymywać wizualne przypomnienia, równocześnie pracując w innych aplikacjach.
- W ekranowej klawiaturze wprowadzono system kontekstowych podpowiedzi do szybkiej odpowiedzi na wiadomości, oferujący emoji lub standardowe odpowiedzi pasujące do treści odebranej wiadomości (na przykład po odebraniu wiadomości "jak minęło spotkanie?" proponuje "świetnie"). Mechanizm jest realizowany za pomocą metod uczenia maszynowego i platformy , która umożliwia dobór rekomendacji na lokalnym urządzeniu bez sięgania do zewnętrznych serwisów.
Zaproponowano interfejs do szybkiego dostępu do narzędzi zarządzania podłączonymi urządzeniami, takimi jak systemy sterowania inteligentnym domem, który uruchamiany jest przez długie naciśnięcie przycisku zasilania. Na przykład teraz można szybko dostosować parametry domowego termostatu, włączyć oświetlenie i odblokować drzwi, nie uruchamiając osobnych programów. W interfejsie zaproponowano również przyciski do szybkiego wyboru powiązanych systemów płatności i elektronicznych kart pokładowych.
Dodano nowe elementy sterujące odtwarzaniem multimediów, umożliwiające szybkie i proste przełączanie urządzenia, za pomocą którego odtwarzane jest wideo lub dźwięk. Na przykład można szybko przełączyć odtwarzanie muzyki z słuchawek na telewizor lub zewnętrzne głośniki.

- Dodano wsparcie dla przyznawania jednorazowych uprawnień, które pozwalają aplikacji wykonać jeden raz operację z przywilejami, a przy kolejnej próbie dostępu ponownie zażądać potwierdzenia. Na przykład można ustawić wyświetlanie prośby o uprawnienia przy każdym dostępie do mikrofonu, kamery lub API lokalizacji.
Wprowadzono możliwość automatycznej blokady żądanych uprawnień dla aplikacji, które nie były uruchamiane przez ponad trzy miesiące. Przy blokadzie wyświetlane jest specjalne powiadomienie z listą aplikacji, które długo nie były uruchamiane, gdzie można przywrócić uprawnienia, usunąć aplikację lub pozostawić ją zablokowaną.
- Wbudowana możliwość tworzenia screencastów z rejestrowaniem zmian na ekranie i dźwięku z mikrofonu.
- Uproszczono zaznaczanie tekstu i obrazów do skopiowania i wymiany pomiędzy aplikacjami.
- Udoskonalono system sterowania głosowego urządzeniem (), który pozwala na zarządzanie smartfonem wyłącznie za pomocą poleceń głosowych. Voice Access teraz rozumie zawartość ekranu oraz uwzględnia kontekst, a także generuje etykiety dla poleceń dostępności.
- Dodano funkcję „Nearby Share” do szybkiego i bezpiecznego przesyłania plików, wideo, danych o lokalizacji oraz innych informacji do pobliskich urządzeń działających na platformie Android lub z przeglądarką Chrome.
- W emulatorze Android dodano eksperymentalną możliwość uruchamiania kodu 32- i 64-bitowych aplikacji zbudowanych dla architektury ARM w środowisku uruchomionego w emulatorze obrazu systemu Android 11, zbudowanego dla architektury x86_64. Emulator obsługuje również symulację pracy przedniej i tylnej kamery. Dla tylnej kamery zrealizowano Camera2 API HW z obsługą przetwarzania YUV i rejestracji w trybie RAW.
Dla przedniej kamery zrealizowano poziom z obsługą kamery logicznej (jedno logiczne urządzenie oparte na dwóch fizycznych urządzeniach z wąskim i szerokim kątem widzenia). - Rozszerzona obsługa standardu komunikacji mobilnej 5G, oferującego wyższą przepustowość i mniejsze opóźnienia. Aplikacje generujące duże obciążenie sieci, wykonujące takie działania, jak strumieniowanie wideo w jakości 4K i pobieranie zasobów gier w wysokiej rozdzielczości, mogą teraz działać nie tylko w połączeniu przez Wi-Fi, ale również przez sieć operatora komórkowego. Aby uprościć adaptację działania aplikacji w kontekście kanałów 5G, rozszerzono API , stosowanej do kontroli, czy połączenie jest rozliczane według transferu danych i czy można przez nie przesyłać duże ilości danych. Ten API teraz obejmuje sieci komórkowe i pozwala określić połączenie z dostawcą, który rzeczywiście oferuje nielimitowany plan przy połączeniu przez 5G. Dodano API stanu 5G, które umożliwia aplikacji szybkie określenie połączenia przez 5G w trybach lub .
Rozszerzono również API , które pozwala prognozować rozmiar dostępnej przepustowości do pobierania lub wysyłania danych, bez przeprowadzania własnych testów sieciowych.
- Dodano wsparcie dla nowych typów ekranów „pinhole” (ekran zajmuje całą przednią powierzchnię smartfona, z wyjątkiem małego okręgu w lewym górnym rogu dla aparatu selfie) oraz „waterfall” (ekran obejmuje również zaokrąglone boczne krawędzie urządzenia). Aplikacje mogą teraz określać obecność dodatkowych widocznych i niewidocznych obszarów na tych ekranach za pomocą standardowego API . Aby objąć boczne krawędzie i zorganizować interakcję w obszarach obok krawędzi ekranów „waterfall”, w API zaproponowano .
- Dodano nowe opcje kontroli dostępu aplikacji do danych osobowych. Oprócz trybu dostępu do lokalizacji, wprowadzonego w poprzednim wydaniu, tylko podczas korzystania z aplikacji (dostęp w tle jest blokowany) w Androidzie 11 wsparcie dla jednorazowych uprawnień. Użytkownik może teraz przyznać aplikacji tymczasowy dostęp do kluczowych uprawnień, takich jak dostęp do lokalizacji, mikrofonu i kamery. Pozwolenie obowiązuje podczas bieżącej sesji i jest cofanięte, gdy użytkownik przełączy się na inną aplikację.
- Wprowadzono zmiany ułatwiające migrację aplikacji do pamięci
, co pozwala na izolację plików aplikacji na zewnętrznym nośniku (np. na karcie SD). Przy użyciu Scoped Storage dane aplikacji są ograniczone do oddzielnego katalogu, a w celu uzyskania dostępu do wspólnych zbiorów multimedialnych wymagane są odrębne uprawnienia. W Androidzie 11 wprowadzono wsparcie dla opcjonalnego trybu dostępu do nośnika przez pełne ścieżki plików,
zaktualizowano API DocumentsUI, dodano możliwość wykonywania operacji wsadowych w MediaStore. - Rozszerzono możliwości czujników biometrycznych do uwierzytelniania. W API BiometricPrompt, które oferuje uniwersalny dialog uwierzytelniania biometrycznego, dodano wsparcie dla trzech typów uwierzytelniaczy — solidnych, słabych i danych urządzenia. Uproszczona integracja BiometricPrompt z różnymi architekturami aplikacji, które nie ograniczają się do stosowania klasy .
- Podczas budowania komponentów platformy wymagających zwiększonej ochrony zaangażowane są mechanizmy ochrony działające na etapie kompilacji (Control Flow Integrity), , (Integer Overflow Sanitization) i . Aby zidentyfikować problemy z zarządzaniem pamięcią w aplikacjach, włączono sprawdzanie wskaźników w stercie oparte na powiązanych z nimi tagach (). Aby znaleźć błędy związane z pamięcią dodatkowy obraz systemu, w którym włączono mechanizm debugowania (Hardware-assisted AddressSanitizer).
- Przygotowano API , które umożliwia bezpieczną wymianę danych binarnych między aplikacjami. Na przykład, to API można wykorzystać do udostępnienia kilku aplikacjom dostępu do modeli uczenia maszynowego, gdy te aplikacje uruchamiane są przez jednego użytkownika.
- Dodano wsparcie dla platform do bezpiecznego przechowywania i wydobywania weryfikowalnych dokumentów tożsamości, takich jak elektroniczne prawo jazdy.
- W ramach projektu Mainline, który umożliwia aktualizację pojedynczych komponentów systemowych bez aktualizacji całej platformy, przygotowano 12 nowych modułów aktualizowalnych, obok 10 modułów dostępnych w Androidzie 10. Aktualizacje dotyczą komponentów nieprzywiązanych do sprzętu, które są ładowane przez Google Play oddzielnie od aktualizacji OTA dostarczanych przez producenta. Wśród nowych modułów, które będą mogły być aktualizowane przez Google Play bez aktualizacji firmware'u, znajdują się moduł do zarządzania uprawnieniami, moduł do pracy z pamięciami (z obsługą Scoped Storage) oraz moduł z NNAPI (Neural Networks API).
- Praca nad zmniejszeniem wpływu zmiany zachowania niektórych podsystemów na działanie aplikacji. Nowości, które mogą wpłynąć na działanie aplikacji, mogą być teraz opcjonalnie wyłączane i regulowane na poziomie SDK. Aby uprościć testowanie kompatybilności aplikacji z Androidem 11, w interfejsie Opcje dewelopera i w narzędziu adb udostępniono ustawienia do włączania i wyłączania funkcji wpływających na kompatybilność (umożliwiając testowanie bez zmiany targetSdkVersion i bez ponownej kompilacji aplikacji). Zaktualizowane listy ograniczonych interfejsów programowania, które nie są dostępne w SDK.
- Dodano framework , który umożliwia dynamiczne ładowanie dodatkowych zasobów podczas wykonywania aplikacji.
- W usłudze weryfikacji połączeń dodano możliwość przekazywania aplikacjom statusu weryfikacji przychodzącego połączenia, który może być używany do tworzenia po zakończeniu rozmowy spersonalizowanych dialogów, na przykład zawierających dodatkowe działania do oznaczenia połączenia jako spam lub dodania do książki adresowej.
- Ulepszono API , które umożliwia aplikacji (menedżerowi połączenia sieciowego) wpływanie na algorytm wyboru preferowanych sieci bezprzewodowych poprzez przekazywanie uporządkowanej listy sieci, a także uwzględniające przy wyborze sieci dodatkowe metryki, takie jak informacje o przepustowości i jakości łącza podczas wcześniejszego połączenia. Dodano możliwość zarządzania sieciami bezprzewodowymi, które obsługują standard (Passpoint), w tym zapewniono uwzględnienie czasu wygaśnięcia profilu użytkownika i zrealizowano możliwość korzystania w profilach z certyfikatów samopodpisanych.
- W API ImageDecoder dodano wsparcie dla dekodowania i wyświetlania animowanych obrazów w formacie HEIF (HEIC w Apple), używającym metod kompresji HEVC (H.265). W porównaniu z animowanymi obrazami GIF, format HEIF pozwala znacznie zmniejszyć rozmiar pliku.
- W NDK dodano API do użycia w natywnym kodzie operacji kodowania i dekodowania obrazów (JPEG, PNG, WebP itd.), bez konieczności korzystania z zewnętrznych bibliotek. Nowe API umożliwia zmniejszenie rozmiaru plików APK z aplikacjami natywnymi oraz rozwiązanie problemu z aktualizacją wbudowanych bibliotek, które mogą zawierać podatności.
- Aplikacje do obsługi kamer mogą teraz tymczasowo wyłączać wibracje (na przykład przy wyświetlaniu powiadomień), aby zablokować ich działanie podczas sesji z kamerą.
- Wprowadzono możliwość włączenia trybów (rozmycie tła na zdjęciu) dla urządzeń z ich obsługą (na przykład tryb still zapewnia wyższą jakość zdjęcia, a tryb continuous dokładniejsze odpowiada danych z czujnika).
- Dodano API do i trybów odtwarzania wideo o niskim opóźnieniu, popularnych w aplikacjach do transmisji strumieniowej w czasie rzeczywistym. Dodatkowo, dodano wsparcie dla trybu pracy HDMI z niskim opóźnieniem (tryb gier), w którym w celu minimalizacji opóźnień na telewizorze lub zewnętrznym monitorze wyłączana jest obróbka graficzna.
- Dla urządzeń z składanymi ekranami API do uzyskiwania informacji z czujnika kąta otwarcia połówek ekranu. Dzięki nowemu API aplikacje mogą określać dokładny kąt otwarcia i dostosowywać wyświetlanie zgodnie z nim.
- API do sprawdzania połączeń rozszerzono o możliwości wykrywania automatycznych połączeń. Dla aplikacji filtrujących połączenia wprowadzono wsparcie dla sprawdzania statusu przychodzącego połączenia przez w celu weryfikacji autentyczności identyfikatora dzwoniącego oraz zwracania przyczyny blokady połączenia i zmiany treści ekranu systemowego wyświetlanego po zakończeniu rozmowy, aby oznaczyć połączenie jako spam lub dodać do książki adresowej.
- Rozszerzono API , udostępniające aplikacjom możliwości wykorzystania sprzętowego przyspieszenia dla systemów uczenia maszynowego. API jest pozycjonowane jako podstawowa warstwa do działania w ramach Androida dla frameworków uczenia maszynowego, takich jak i Caffe2.
Dodano wsparcie dla funkcji aktywacji , która pozwala skrócić czas uczenia się sieci neuronowej i zwiększyć dokładność realizacji określonych zadań, na przykład przyspieszyć działania z modelami komputerowego widzenia opartymi na . Dodano operację Control, która umożliwia tworzenie bardziej zaawansowanych modeli uczenia maszynowego wspierających rozgałęzienia i pętle. Wprowadzono API Asynchronous Command Queue w celu skrócenia opóźnień przy uruchamianiu łańcucha małych powiązanych modeli.
Dla użycia na urządzeniach mobilnych zaproponowano szereg gotowych modeli sieci neuronowych, w tym (rozpoznawanie obiektów na zdjęciach), (wizja komputerowa) oraz Smart
Reply (dobór opcji odpowiedzi na wiadomości). wsparcie dla rozszerzonego kwantowania z wykorzystaniem liczb całkowitych zamiast liczb zmiennoprzecinkowych, co pozwala na zmniejszenie rozmiaru modeli i przyspieszenie pracy z nimi. Ponadto, w API Quality of Service dodano możliwości zarządzania priorytetami i czasem oczekiwania podczas wykonywania modeli, a API Memory Domain zostało rozszerzone w celu zmniejszenia operacji kopiowania i konwersji pamięci podczas sekwencyjnego wykonywania modeli. - Dodano oddzielne typy usług w tle dla kamery i mikrofonu, które będą musiały być żądane, jeśli aplikacja potrzebuje uzyskać dostęp do kamery i mikrofonu w momencie nieaktywności.
- Dodano nowe API dla wyświetlanie elementów interfejsu aplikacji przy pojawieniu się klawiatury ekranowej, aby zorganizować bardziej płynne animacje wyświetlania poprzez informowanie aplikacji o zmianach na poziomie poszczególnych klatek.
- API do zarządzania częstotliwością odświeżania ekranu, pozwalające na ustawienie innej częstotliwości dla okien niektórych gier i aplikacji (na przykład domyślnie Android używa częstotliwości odświeżania 60 Hz, ale niektóre urządzenia pozwalają ją zwiększyć do 90 Hz).
- tryb bezproblemowego kontynuowania pracy po instalacji aktualizacji OTA firmware’u, która wymaga ponownego uruchomienia urządzenia. Nowy tryb pozwala aplikacjom zachować dostęp do szyfrowanego magazynu bez potrzeby odblokowywania urządzenia przez użytkownika po ponownym uruchomieniu, tzn. aplikacje mogą od razu kontynuować wykonywanie swoich funkcji i odbieranie wiadomości. Na przykład automatyczna instalacja aktualizacji OTA może być zaplanowana na noc i przeprowadzona bez udziału użytkownika.
- Dodano w celu uzyskania informacji o przyczynach zakończenia działania programu, pozwalającego określić, czy program zakończył działanie z inicjatywy użytkownika, w wyniku awarii, czy został wymuszenie zakończony przez system operacyjny. API daje również możliwość oceny stanu programu bezpośrednio przed zakończeniem.
- Dodano , analiza pamięci w stercie, pozwalająca na znajdowanie i naprawianie problemów spowodowanych niebezpiecznym używaniem pamięci. GWP-ASan analizuje operacje alokacji pamięci z minimalnymi nakładami i identyfikuje anomalie. Domyślnie GWP-ASan jest włączony dla plików wykonywalnych platformy oraz aplikacji systemowych. Aby zastosować GWP-ASan do swoich aplikacji, wymaga oddzielnego włączenia.
- W narzędziu ADB (Android Debug Bridge) inkrementalny tryb instalacji pakietów APK („adb install —incremental”), który znacznie przyspiesza instalację dużych programów, takich jak gry, w trakcie ich tworzenia. Istota trybu polega na tym, że przy instalacji najpierw przenoszone są niezbędne do uruchomienia części pakietu, a reszta jest pobierana w tle, nie blokując możliwości uruchomienia programu. Na przykład, podczas instalacji plików APK o rozmiarze powyżej 2GB, w nowym trybie czas do możliwości uruchomienia skraca się do 10 razy. Inkrementalne instalacje działają obecnie tylko na urządzeniach Pixel 4 i 4XL, a do premiery liczba obsługiwanych urządzeń zostanie rozszerzona.
- Całkowicie tryb debugowania z uruchomieniem ADB przez połączenie bezprzewodowe. W przeciwieństwie do debugowania przez połączenie TCP/IP, debugowanie przez Wi-Fi nie wymaga podłączenia kabla do konfiguracji i może zapamiętywać wcześniej wykonane połączenia urządzeń. W planach jest również wdrożenie prostszej metody łączenia przez kod QR, wyświetlany w Android Studio.
- Zaktualizowane narzędzia do dostępu do danych, które pozwalają na analizę, do jakich danych użytkownika aplikacja uzyskuje dostęp oraz po jakich działaniach użytkownika. niektóre wywołania API audytu.
- Dodano tryb „Ethernet tethering”, który pozwala na zapewnienie dostępu do internetu przez smartfon za pomocą podłączonych do portu USB adapterów Ethernet.
- W ustawieniach pojawiła się sekcja z historią powiadomień oraz możliwość ustawienia harmonogramu aktywacji trybu ciemnego.

Źródło: opennet.ru

