Google zaprezentowało pierwszą testową wersję otwartej platformy mobilnej Android 14. Premiery Androida 14 można spodziewać się w trzecim kwartale 2023 roku. Aby ocenić nowe możliwości platformy, zaproponowano wstępny program testów. Wersje oprogramowania zostały przygotowane dla urządzeń Pixel 7/7 Pro, Pixel 6/6a/6 Pro, Pixel 5/5a 5G i Pixel 4a (5G).
Kluczowe innowacje w Androidzie 14:
- Trwają prace nad poprawą wydajności platformy na tabletach i urządzeniach ze składanymi ekranami. Zaktualizowaliśmy wytyczne dotyczące tworzenia aplikacji na urządzenia z dużym ekranem i dodaliśmy ogólne wzorce interfejsu użytkownika dla dużych ekranów, aby uwzględnić takie zastosowania, jak media społecznościowe, komunikacja, treści multimedialne, czytanie i zakupy. Zaproponowano wstępną wersję pakietu SDK dla urządzeń Cross, zawierającą narzędzia do tworzenia aplikacji, które działają poprawnie z różnymi typami urządzeń (smartfony, tablety, telewizory inteligentne itp.) i różnymi formatami.
- Zoptymalizowano koordynację pracy w tle wymagającej dużej ilości zasobów, takiej jak pobieranie dużych plików przy połączeniu Wi-Fi. Wprowadzono zmiany w API uruchamiania usług priorytetowych (Foreground Service) i planowania zadań (JobScheduler), które dodały nową funkcjonalność dla zadań uruchamianych przez użytkowników związanych z przesyłaniem danych. Wprowadzono wymagania wskazujące rodzaj usług priorytetowych, które mają zostać uruchomione (praca z kamerą, synchronizacja danych, odtwarzanie danych multimedialnych, śledzenie lokalizacji, dostęp do mikrofonu itp.). Łatwiej jest zdefiniować warunki aktywacji pobierania danych, np. pobieranie tylko w przypadku dostępu przez Wi-Fi.
- Wewnętrzny system rozgłaszania służący do dostarczania komunikatów rozgłoszeniowych do aplikacji został zoptymalizowany w celu zmniejszenia zużycia energii i poprawy responsywności. Poprawiona akceptacja zarejestrowanych strumieni wiadomości przez aplikację - wiadomości można kolejkować, łączyć (na przykład seria wiadomości BATTERY_CHANGED zostanie zagregowana w jedną) i dostarczać dopiero po wyjściu aplikacji ze stanu buforowania.
- Korzystanie z funkcji Dokładne alarmy w aplikacjach wymaga obecnie uzyskania osobnego uprawnienia SCHEDULE_EXACT_ALARM, ponieważ korzystanie z tej funkcjonalności może negatywnie wpłynąć na żywotność baterii i prowadzić do zwiększonego zużycia zasobów (w przypadku zaplanowanych zadań zaleca się korzystanie z aktywacji w przybliżonym czasie). Aplikacje z implementacją kalendarza i zegara, które korzystają z aktywacji opartej na czasie, muszą podczas instalacji uzyskać uprawnienie USE_EXACT_ALARM. Publikowanie aplikacji w katalogu Google Play z uprawnieniem USE_EXACT_ALARM jest dozwolone tylko w przypadku programów, które implementują budzik, minutnik i kalendarz z powiadomieniami o wydarzeniach.
- Rozszerzono możliwości skalowania czcionek, zwiększono maksymalny poziom skalowania czcionki ze 130% do 200%, a aby tekst przy dużym powiększeniu nie wyglądał na zbyt duży, automatycznie stosowana jest nieliniowa zmiana poziomu skalowania ( duży tekst nie jest powiększany tak bardzo jak mały tekst).
- Istnieje możliwość określenia ustawień językowych przypisanych do poszczególnych aplikacji. Twórca aplikacji może teraz zmienić ustawienia localeConfig, wywołując LocaleManager.setOverrideLocaleConfig, aby określić listę języków wyświetlaną dla aplikacji w interfejsie konfiguracyjnym Androida.
- Dodano API Grammatical Inflection, aby ułatwić dodawanie tłumaczeń elementów interfejsu uwzględniających języki z systemem płci.
- Aby uniemożliwić złośliwym aplikacjom przechwytywanie żądań dotyczących zamiarów, nowa wersja zabrania wysyłania zamiarów bez wyraźnego określenia pakietu lub komponentu wewnętrznego.
- Poprawiono bezpieczeństwo dynamicznego ładowania kodu (DCL) — aby uniknąć umieszczania złośliwego kodu w dynamicznie ładowanych plikach wykonywalnych, pliki te muszą teraz mieć uprawnienia dostępu tylko do odczytu.
- Zabronione jest instalowanie aplikacji, dla których wersja SDK jest niższa niż 23, co będzie blokować ominięcie ograniczeń uprawnień poprzez powiązanie ze starymi API (API w wersji 22 jest zabronione, ponieważ wersja 23 (Android 6.0) wprowadziła nowy model kontroli dostępu, który pozwala aby poprosić o dostęp do zasobów systemowych). Wcześniej zainstalowane aplikacje korzystające ze starych interfejsów API będą nadal działać po aktualizacji Androida.
- Zaproponowano interfejs API Credential Manager i wdrożono obsługę technologii Passkeys, umożliwiającą użytkownikowi uwierzytelnianie bez hasła przy użyciu identyfikatorów biometrycznych, takich jak odcisk palca lub rozpoznawanie twarzy.
- Środowisko wykonawcze systemu Android (ART) zapewnia obsługę OpenJDK 17 oraz funkcji językowych i klas Java dostępnych w tej wersji, w tym klas takich jak rekord, ciągi wielowierszowe i dopasowywanie wzorców w operatorze „instanceof”.
- Aby uprościć testowanie działania aplikacji z uwzględnieniem zmian w nowej wersji Androida, programiści mają możliwość selektywnego włączania i wyłączania poszczególnych innowacji poprzez sekcję Deweloper w konfiguratorze lub narzędziu adb.
Źródło: opennet.ru