Wydanie mobilnej platformy Android 10

Firma Google opublikowała wydanie otwartej mobilnej platformy Android 10. Związane z nowym wydaniem źródła zostały umieszczone w repozytorium Git projekcie (gałąź android-10.0.0_r1). Aktualizacje oprogramowania już przygotowano dla 8 urządzeń z serii Pixel, w tym dla pierwszego modelu Pixel. Ponadto są tworzone uniwersalne obrazy systemowe GSI (Generic System Images), które pasują do różnych urządzeń opartych na architekturach ARM64 i x86_64. W nadchodzących miesiącach aktualizacje z Androidem 10 będą wydawane dla aktualnych smartfonów takich firm jak Sony Mobile, Xiaomi, Huawei, Nokia, Vivo, OPPO, OnePlus, ASUS, LG i Essential.

Podstawowe nowości:

  • Przedstawiono projekt Mainline, który pozwala na aktualizację poszczególnych komponentów systemowych bez aktualizacji całej platformy. Takie aktualizacje są pobierane przez Google Play oddzielnie od aktualizacji OTA dostarczanych przez producentów. Zakłada się, że bezpośrednie dostarczanie aktualizacji komponentów platformy niepowiązanych z danym sprzętem pozwoli znacznie skrócić czas otrzymywania aktualizacji, zwiększyć szybkość usuwania luk w zabezpieczeniach i zmniejszyć zależność od producentów urządzeń w zakresie zapewnienia bezpieczeństwa platformy. Moduły z aktualizacjami będą pierwotnie dostarczane z otwartym kodem źródłowym, będą od razu dostępne w repozytoriach AOSP (Android Open Source Project) i mogą zawierać poprawki oraz ulepszenia przygotowane przez zewnętrznych uczestników.

    Wśród komponentów, które będą aktualizowane oddzielnie: kodeki multimedialne, framework multimedialny, resolver DNS, Conscrypt Java Security Provider, Documents UI, Permission Controller, ExtServices, dane stref czasowych, ANGLE (warstwa do tłumaczenia wywołań OpenGL ES na OpenGL, Direct3D 9/11, Desktop GL i Vulkan), Metadata modułu, komponenty sieciowe, logowanie do portalu Captive i ustawienia dostępu do sieci. Aktualizacje komponentów systemowych są dostarczane w nowym formacie pakietów APEX, który różni się od APK możliwością zastosowania na wczesnym etapie ładowania systemu. W przypadku ewentualnych awarii przewidziano tryb przywracania zmian;

  • Na poziomie systemu wprowadzono ciemny motyw interfejsu , który może być stosowany w celu zmniejszenia zmęczenia oczu w warunkach słabego oświetlenia.
    Tryb ciemny włącza się w ustawieniach Ustawienia > Wyświetlanie, z rozwijanego menu szybkich ustawień lub podczas włączenia trybu oszczędzania energii. Tryb ciemny stosuje się zarówno do systemu, jak i do aplikacji, oferując również automatyczne przekształcanie istniejących motywów w ciemne tonacje.

    Wydanie mobilnej platformy Android 10
  • System automatycznych szybkich odpowiedzi, wcześniej dostępny dla powiadomień, może teraz być używany do generowania rekomendacji dotyczących najprawdopodobniejszych działań w dowolnych aplikacjach. Na przykład, przy wyświetlaniu wiadomości z zaproszeniem na spotkanie, system zaproponuje szybkie odpowiedzi z akceptacją lub odrzuceniem zaproszenia, a także pokaże przycisk do zobaczenia ustalonego miejsca spotkania na mapie. Opcje są dobierane przy użyciu systemu uczenia maszynowego na podstawie analizy nawyków użytkownika.

    Wydanie mobilnej platformy Android 10
  • Dostępnych jest więcej narzędzi do kontrolowania dostępu aplikacji do informacji o lokalizacji użytkownika. Jeśli wcześniej, po przyznaniu odpowiednich uprawnień, aplikacja mogła uzyskiwać dostęp do lokalizacji w dowolnym momencie, nawet gdy była nieaktywna (działała w tle), to w nowej wersji użytkownik może zezwolić na pozyskiwanie informacji o jego lokalizacji tylko w przypadku aktywnej sesji z aplikacją.

    Wydanie mobilnej platformy Android 10
  • Dodano tryb kontroli rodzicielskiej „Family Link”, który pozwala na ograniczenie czasu korzystania z urządzenia przez dzieci, przyznawanie bonusowych minut za sukcesy i osiągnięcia, przeglądanie listy uruchamianych aplikacji oraz ocenianie czasu, jaki dziecko spędza w tych aplikacjach, recenzowanie instalowanych aplikacji oraz ustalanie nocnego czasu na zablokowanie dostępu nocą.

    Wydanie mobilnej platformy Android 10
  • Dodano „tryb skupienia” (Focus Mode), który pozwala na wyciszenie rozpraszających aplikacji na czas, kiedy trzeba skoncentrować się na wykonaniu jakiegoś zadania, na przykład wstrzymując otrzymywanie e-maili i wiadomości, ale pozostawiając mapy i komunikator. W aktualnych wersjach funkcja ta jest jeszcze nieaktywna.
  • Dodano sterowanie gestami, które pozwala korzystać z ekranowych gestów do zarządzania, bez wyświetlania paska nawigacji i maksymalizując przestrzeń ekranu dla treści. Na przykład, przyciski typu Wstecz i Strona główna są zastępowane przesunięciem od krawędzi i przesunięciem palca z dołu do góry, a aby wywołać listę uruchomionych aplikacji, należy dłużej dotknąć ekranu. Tryb ten można włączyć w ustawieniach „Ustawienia > System > Gesty”;
  • Dodano funkcję „Live Caption”, która automatycznie tworzy napisy podczas oglądania dowolnego wideo lub słuchania nagrań dźwiękowych, niezależnie od używanej aplikacji. Rozpoznawanie mowy odbywa się lokalnie, bez kontaktu z zewnętrznymi usługami. W obecnych wersjach funkcja nie jest jeszcze aktywna;
  • Wprowadzono koncepcję „bańki” do jednoczesnej pracy z wieloma aplikacjami. Bańki pozwalają na podejmowanie działań w innych aplikacjach, nie opuszczając bieżącego programu. Dodatkowo, bańki umożliwiają stały dostęp do funkcjonalności określonej aplikacji podczas wykonywania różnych czynności na urządzeniu. Na przykład, za pomocą baniek można w formie przycisków wyświetlanych nad treścią kontynuować rozmowę w komunikatorze, szybko wysyłać wiadomości, mieć na oku listę zadań, robić notatki, korzystać z tłumaczeń i otrzymywać wizualne przypomnienia, jednocześnie pracując nad innymi aplikacjami. Bańki są zrealizowane na tle systemu powiadomień i umożliwiają korzystanie z podobnego API.

    Wydanie mobilnej platformy Android 10
  • Dodano wsparcie dla urządzeń ze składanymi ekranami, takich jak Huawei Mate X. Na każdej części składanego ekranu może teraz znajdować się oddzielna aplikacja. W celu obsługi nowych typów ekranów dodano wsparcie dla oddzielnego przetwarzania wielu wydarzeń wybudzenia i zmiany fokusowania (gdy jedna połowa ekranu jest aktywna, a druga pozostaje zamknięta lub gdy obie połowy są aktywne), a także rozszerzono API do obsługi zmiany rozmiaru ekranu (aby aplikacja prawidłowo rozpoznawała zwiększenie rozmiaru ekranu przy otwieraniu drugiej połowy). Do emulatora Android dodano symulację urządzeń ze składanymi ekranami;
    Wydanie mobilnej platformy Android 10
  • Dodano wsparcie dla skrótów do przesyłania danych i wiadomości (Sharing Shortcuts), umożliwiających szybkie przejście do aplikacji odpowiedzialnej za wysyłkę;

    Wydanie mobilnej platformy Android 10
  • Dodano wsparcie dla wyskakujących paneli z ustawieniami, które pozwalają na dostęp do kluczowych ustawień systemowych w kontekście aplikacji użytkownika. Aby wyświetlić panele ustawień z aplikacji, udostępnione jest API Panel Ustawień. Na przykład odtwarzacz multimedialny może wyświetlić panel z ustawieniami systemowymi dźwięku, a przeglądarka ustawienia połączenia sieciowego oraz trybu samolotowego;

    Wydanie mobilnej platformy Android 10

    Bezpieczeństwo:

    • Dodano dodatkowe ograniczenia dostępu aplikacji do współdzielonych plików, takich jak kolekcje zdjęć, wideo i muzyka;
    • Aby uzyskać dostęp do pobranych plików umieszczonych w katalogu Downloads, aplikacja teraz musi obowiązkowo korzystać z systemowego dialogu wyboru pliku, który zapewnia użytkownikowi pełną kontrolę nad tym, do jakich konkretnych plików może uzyskać dostęp aplikacja;
    • Zablokowano możliwość przechodzenia aplikacji z wykonania w tle do aktywnego stanu z wyjściem na pierwszy plan i uzyskaniem fokusu wejścia, przerywając tym samym pracę użytkownika z inną aplikacją. W przypadku konieczności przyciągnięcia uwagi użytkownika przez aplikację w tle, na przykład podczas połączenia przychodzącego, należy teraz używać powiadomienia o wysokim priorytecie z uprawnieniami do wyświetlania na pełnym ekranie;
    • Ograniczono dostęp do niezmiennych identyfikatorów urządzenia, takich jak IMEI i numer seryjny. Aby uzyskać takie identyfikatory, aplikacja musi mieć uprawnienia READ_PRIVILEGED_PHONE_STATE.
      Aplikacjom również ograniczono dostęp do pseudo-FS "/proc/net" ze statystyką aktywności sieciowej, a dostęp do danych w schowku jest teraz udzielany tylko wtedy, gdy aplikacja jest aktywna (uzyskała fokus wejścia);
    • Przy zwracaniu listy kontaktów aplikacji zakończono sortowanie wypisów według częstotliwości dostępu do kontaktów, aby ukryć przed aplikacjami informacje o preferencjach użytkownika;
    • Domyślnie włączono losowość adresów MAC: przy łączeniu z różnymi sieciami bezprzewodowymi teraz generowane są różne adresy MAC, co uniemożliwia śledzenie ruchu użytkownika między sieciami WiFi;
    • Aby uzyskać dostęp do API skanowania sieci Bluetooth, sieci komórkowych i Wi-Fi, teraz wymagane jest uzyskanie uprawnień do pozyskiwania dokładnych informacji o lokalizacji (wcześniej wymagane były uprawnienia do pozyskiwania przybliżonych informacji o lokalizacji). W przypadku, gdy połączenie nawiązywane jest w trybie P2P lub sieć do połączenia jest określana przez system, osobne uprawnienia do dostępu do informacji o lokalizacji nie są wymagane.
    • Wprowadzono wsparcie dla technologii zabezpieczania sieci bezprzewodowych WPA3, która zapewnia ochronę przed atakami typu brute-force (uniemożliwia odgadnięcie hasła w trybie offline) oraz wykorzystuje protokół autoryzacji SAE. Aby generować klucze szyfrowania w otwartych sieciach, dodano wsparcie dla procesu negocjacji połączenia realizowanego przez rozszerzenie OWE (Opportunistic Wireless Encryption);
    • Dodano i domyślnie dla wszystkich połączeń włączono wsparcie TLS 1.3. W testach Google zastosowanie TLS 1.3 pozwala na przyspieszenie nawiązywania bezpiecznych połączeń o nawet 40% w porównaniu do TLS 1.2.
    • Wprowadzono nowe przechowywanie Scoped Storage, które zapewnia poziom izolacji dla plików aplikacji. Dzięki temu API aplikacja może stworzyć na zewnętrznych nośnikach (np. na karcie SD) oddzielny, izolowany katalog dla swoich plików, do którego nie będą miały dostępu inne aplikacje. Aktualna aplikacja będzie ograniczona do tego katalogu w zakresie przechowywania zdjęć, filmów i muzyki, nie będzie kolidować z ogólnymi zbiorami plików multimedialnych. Aby uzyskać dostęp do ogólnych zbiorów plików, wymagane jest uzyskanie osobnych uprawnień.
    • W API BiometricPrompt, ujednolicającym wyświetlanie dialogu biometrycznej autoryzacji, dodano wsparcie dla pasywnych metod autoryzacji, takich jak rozpoznawanie twarzy. Zaoferowano oddzielne metody obsługi jawnej i niejawnej autoryzacji. W przypadku jawnej autoryzacji użytkownik musi potwierdzić operację, natomiast w przypadku niejawnej — autoryzacja może być realizowana dyskretnie w trybie pasywnym.
  • Stos bezprzewodowy.
    • Dodano wsparcie dla standardu komunikacji mobilnej 5G, dla którego dostosowano istniejące API zarządzania połączeniami. W tym również przez API aplikacje mogą określać obecność szybkiego połączenia oraz aktywność naliczania opłat za transfer danych.
    • Dodano dwa tryby pracy Wi-Fi — tryb osiągania maksymalnej przepustowości i tryb minimalnych opóźnień (przydatny na przykład w grach i komunikacji głosowej);
    • Przeprowadzono refaktoryzację stacka bezprzewodowego w celu wzmacniania prywatności i zwiększenia wydajności, a także poprawy zarządzania urządzeniami Internetu Rzeczy przez lokalne Wi-Fi (na przykład drukowanie przez Wi-Fi) i wyboru punktów połączenia. Funkcje skanowania dostępnych punktów dostępu są teraz udostępniane przez platformę, z wyświetleniem znalezionych sieci w interfejsie Wi-Fi Picker oraz automatyczną konfiguracją połączenia w przypadku jego wyboru przez użytkownika. Aplikacje przez API WifiNetworkSuggestions otrzymały możliwość wpływania na algorytm wyboru preferowanych sieci bezprzewodowych, przesyłając przez aplikację uporządkowaną listę sieci i haseł do nich. Ponadto, przy wyborze sieci, do której następuje połączenie, brane są teraz pod uwagę metryki dotyczące przepustowości z poprzedniego połączenia (wybiera się najszybszą sieć);
    • Multimedia i grafika
      • Dodano wsparcie dla graficznego API Vulkan 1.1. W porównaniu do OpenGL ES, użycie Vulkan pozwala znacznie zmniejszyć obciążenie CPU (nawet do 10 razy w testach Google) i zwiększyć wydajność renderowania. Ostatecznym celem jest powszechne wsparcie Vulkan na wszystkich urządzeniach z Androidem, w związku z czym Google współpracuje z producentami sprzętu nad wprowadzeniem Vulkan 1.1 jako obowiązkowego wymogu dla wszystkich 64-bitowych urządzeń z Androidem 10;
      • Dodano eksperymentalne wsparcie dla wykonywania warstwy ANGLE (Almost Native Graphics Layer Engine) nad graficznym API Vulkan. ANGLE pozwala na renderowanie, abstrahując od specyficznych API różnych systemów, dzięki translacji wywołań OpenGL ES na OpenGL, Direct3D 9/11, Desktop GL i Vulkan). Dla deweloperów gier i aplikacji graficznych ANGLE przekazywanie umożliwia korzystanie z standardowego sterownika OpenGL ES na wszystkich urządzeniach wykorzystujących Vulkan;
      • Aplikacje do obsługi kamery i zdjęć mogą teraz żądać od kamery przesyłania dodatkowych metadanych XMP w pliku JPEG, w tym informacji potrzebnych do przetwarzania głębi na zdjęciach (na przykład, zapisywana przez podwójne kamery mapa głębi). Te parametry mogą być używane do realizacji różnych trybów rozmycia tła i efektu bokeh, a także do tworzenia zdjęć 3D lub w systemach rozszerzonej rzeczywistości;
      • Dodano wsparcie dla kodeka wideo AV1, który jest reklamowany jako ogólnodostępny i wolny format kodowania wideo, nie wymagający opłat licencyjnych, znacząco przewyższający H.264 i VP9 pod względem kompresji;
      • Dodano wsparcie dla wolnego kodeka dźwiękowego Opus, zapewniającego wysoką jakość kodowania i minimalne opóźnienia zarówno podczas kompresji dźwięku strumieniowego o dużym bitrate, jak i w aplikacjach VoIP o ograniczonej przepustowości;
      • Dodano wsparcie dla standardu HDR10+, stosowanego do kodowania wideo z rozszerzonym zakresem dynamiki;
      • W API MediaCodecInfo dodano uproszczoną metodę do określenia dostępnych na urządzeniu możliwości wyjścia wideo (wyświetlana jest lista kodeków oraz obsługiwanych rozdzielczości i FPS na urządzeniu);
      • Dodano API Native MIDI, które umożliwia aplikacjom C++ bezpośrednią interakcję z urządzeniami MIDI poprzez NDK w trybie nieblokującym, co pozwala na przetwarzanie komunikatów MIDI z bardzo niskimi opóźnieniami;
      • Dodano API MicrophoneDirection do zarządzania zbieraniem dźwięku z kierunkowych mikrofonów. Dzięki temu API można określić kierunek orientacji mikrofonu podczas nagrywania dźwięku. Na przykład, podczas tworzenia filmu selfie można użyć setMicrophoneDirection( MIC_DIRECTION_FRONT) do nagrania dźwięku z mikrofonu z przodu urządzenia. Przez to API można także zarządzać mikrofonami o zmiennej strefie zbierania (zoomable), określając wielkość strefy nagrywania.
      • Dodano nowe API do przechwytywania dźwięku, które pozwala jednej aplikacji
        umożliwić innym aplikacjom przetwarzanie strumienia dźwiękowego. Aby umożliwić innym aplikacjom dostęp do wyjścia dźwięku, wymagana jest specjalna zgoda;
      • System oraz rozszerzone API.
        • Wprowadzone zostały znaczne optymalizacje wydajności runtime ART, które pozwoliły na zmniejszenie zużycia pamięci i przyspieszenie uruchamiania aplikacji. W Google Play zapewnione zostało rozpowszechnienie profili.
          PGO (Profile Guided Optimization) obejmujących informacje o najczęściej wykonywanych częściach kodu. Wstępna kompilacja takich fragmentów znacznie skraca czas uruchamiania. W samej ART przeprowadzono optymalizację dla wcześniejszego uruchamiania procesu aplikacji oraz przeniesienia go do izolowanego kontenera. W obrazie pamięci aplikacji zapewnione jest zachowanie dodatkowych danych, takich jak klasy. Realizowany jest wielowątkowy tryb ładowania obrazów pamięci aplikacji. Zwiększona została efektywność działania zbieracza śmieci dzięki oddzielnemu przetwarzaniu niedawno utworzonych obiektów.

          Wydanie mobilnej platformy Android 10
        • Do wersji 1.2 zaktualizowano API. Sieci neuronowe, 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 TensorFlow Lite i Caffe2. Dla urządzeń mobilnych zaproponowano szereg gotowych modeli sieci neuronowych, w tym MobileNets (rozpoznawanie obiektów na zdjęciach), Inception v3 (wizja komputerowa) oraz Smart
          Reply
          (dobór odpowiedzi na wiadomości). W nowym wydaniu dodano 60 nowych operacji, w tym ARGMAX, ARGMIN oraz kwantowany LSTM, a także przeprowadzono znaczne optymalizacje wydajności, co pozwoliło na wykorzystanie API do wsparcia nowych modeli uczenia maszynowego, takich jak rozpoznawanie obiektów i segmentacja obrazów.
        • W SDK dodano nowy emulator urządzeń ze składanymi ekranami, który jest dostępny w wydaniu Android Studio 3.5 w formie dodatkowego wirtualnego urządzenia, przedstawionego w wersjach z ekranami o przekątnej 7.3 (4.6) i 8 (6.6) cali. W platformie dla urządzeń składanych rozszerzono obsługę zdarzeń onResume i onPause, w których dodano wsparcie dla oddzielnego wyłączania wielu ekranów oraz wprowadzono zaawansowane powiadomienia o przejęciu aplikacji do fokusu.

          Wydanie mobilnej platformy Android 10
        • Dodano Thermal API, które umożliwia aplikacjom kontrolowanie temperatury CPU i GPU oraz podejmowanie działań w celu zmniejszenia obciążenia (np. obniżanie FPS w grach i zmniejszanie rozdzielczości przesyłanego wideo), nie czekając, aż system wymusi ograniczenie aktywności aplikacji.

          Źródło: opennet.ru

        • Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster