Android 17 osiągnął etap wersji beta 4, czyli ostatniej zaplanowanej wersji beta w tym cyklu wydawniczym, co jest kluczowym kamieniem milowym dla zgodności aplikacji i stabilności platformy. Niezależnie od tego, czy dopracowujesz wrażenia użytkowników, dbasz o płynne renderowanie od krawędzi do krawędzi, czy korzystasz z najnowszych interfejsów API, wersja beta 4 zapewnia niemal ostateczne środowisko, w którym możesz przeprowadzać testy.
Przygotuj aplikacje, biblioteki, narzędzia i silniki gier.
Jeśli tworzysz Android SDK, bibliotekę, narzędzie lub silnik gry na Androida, musisz już teraz przygotować niezbędne aktualizacje, aby zapobiec blokowaniu deweloperów aplikacji i gier przez problemy ze zgodnością i umożliwić im korzystanie z najnowszych funkcji Android SDK. Poinformuj deweloperów, którzy korzystają z Twoich usług, czy konieczne są aktualizacje, aby w pełni obsługiwać Androida 17.
Testowanie polega na zainstalowaniu aplikacji produkcyjnej lub testowej korzystającej z biblioteki lub silnika za pomocą Google Play lub w inny sposób na urządzeniu lub emulatorze z Androidem 17 w wersji beta 4. Sprawdź wszystkie ścieżki w aplikacji i poszukaj problemów z funkcjonalnością lub interfejsem. Każda wersja Androida zawiera zmiany na platformie, które poprawiają prywatność, bezpieczeństwo i ogólną wygodę użytkowników. Aby skupić się na testowaniu, zapoznaj się ze zmianami w działaniu aplikacji, które mają wpływ na aplikacje działające i kierowane na Androida 17, w tym z tymi zmianami:
- Możliwość zmiany rozmiaru na dużych ekranach: gdy zaczniesz kierować aplikację na Androida 17, nie będziesz już mieć możliwości wycofania się z zachowania ograniczeń dotyczących orientacji, możliwości zmiany rozmiaru i formatu obrazu na dużych ekranach.
- Dynamiczne wczytywanie kodu: jeśli Twoja aplikacja jest kierowana na Androida 17 lub nowszego, bezpieczniejsze dynamiczne wczytywanie kodu (DCL) wprowadzone w Androidzie 14 w przypadku plików DEX i JAR jest teraz rozszerzone na biblioteki natywne. Wszystkie pliki natywne wczytywane za pomocą funkcji System.load() muszą być oznaczone jako tylko do odczytu. W przeciwnym razie system zgłosi błąd UnsatisfiedLinkError.
- Domyślne włączanie CT: Certificate Transparency (CT) jest domyślnie włączona. (W Androidzie 16 funkcja CT jest dostępna, ale aplikacje musiały wyrazić na nią zgodę).
- Ochrona sieci lokalnej: aplikacje kierowane na Androida 17 lub nowszego mają domyślnie zablokowany dostęp do sieci lokalnej. W miarę możliwości przejdź na selektory chroniące prywatność i używaj nowego uprawnienia ACCESS_LOCAL_NETWORK, aby uzyskać szeroki, stały dostęp.
- Wzmacnianie zabezpieczeń dźwięku w tle: od Androida 17 platforma audio egzekwuje ograniczenia dotyczące interakcji z dźwiękiem w tle, w tym odtwarzania dźwięku, żądań aktywności audio i interfejsów API zmiany głośności. Na podstawie Twoich opinii wprowadziliśmy kilka zmian od wersji beta 2, w tym ograniczenie targetSDK podczas egzekwowania FGS w trakcie używania i wyłączenie dźwięku alarmu. Pełne informacje znajdziesz w zaktualizowanych wskazówkach.
Limity pamięci aplikacji
Android wprowadza limity pamięci aplikacji oparte na całkowitej pamięci RAM urządzenia, aby zapewnić bardziej stabilne i przewidywalne środowisko dla aplikacji i użytkowników Androida. W Androidzie 17 limity są ustawione w sposób konserwatywny, aby ustalić podstawowe wartości systemowe. Ma to na celu wykrywanie ekstremalnych wycieków pamięci i innych wartości odstających, zanim spowodują one niestabilność całego systemu, co może prowadzić do zacinania się interfejsu, szybkiego zużycia baterii i zamykania aplikacji. Spodziewamy się, że w przypadku większości sesji w aplikacjach wpływ będzie minimalny, ale zalecamy stosowanie tych sprawdzonych metod dotyczących pamięci, w tym ustalenie wartości bazowej pamięci.
W obecnej implementacji funkcja getDescription w ApplicationExitInfo będzie zawierać ciąg „MemoryLimiter”, jeśli aplikacja została dotknięta tym problemem. Możesz też użyć profilowania opartego na aktywatorach z wartością TRIGGER_TYPE_ANOMALY, aby uzyskać zrzuty sterty zbierane po osiągnięciu limitu pamięci.
Aby ułatwić Ci znajdowanie wycieków pamięci, Android Studio Panda dodaje integrację z LeakCanary bezpośrednio w profilerze Android Studio jako osobne zadanie, które jest kontekstowe w środowisku IDE i w pełni zintegrowane z kodem źródłowym.
Mniejsze wykorzystanie pamięci przekłada się bezpośrednio na płynniejsze działanie, dłuższą żywotność baterii i lepsze wrażenia na wszystkich urządzeniach. Stwórzmy razem szybszą i bardziej niezawodną przyszłość ekosystemu Androida.
Aktywatory profilowania anomalii w aplikacjach
Android wprowadza usługę wykrywania anomalii na urządzeniu, która monitoruje zachowania wymagające dużej ilości zasobów i potencjalne regresje zgodności. Ta usługa jest zintegrowana z ProfilingManager i umożliwia aplikacji otrzymywanie artefaktów profilowania wywoływanych przez określone zdarzenia wykryte przez system.
Użyj wyzwalacza TRIGGER_TYPE_ANOMALY, aby wykrywać problemy z wydajnością systemu, takie jak nadmierna liczba wywołań bindera i nadmierne wykorzystanie pamięci. Gdy aplikacja przekroczy limity pamięci określone przez system operacyjny, wyzwalacz anomalii umożliwia deweloperom otrzymywanie zrzutów sterty specyficznych dla aplikacji, co pomaga w identyfikowaniu i rozwiązywaniu problemów z pamięcią. Dodatkowo w przypadku nadmiernego spamu w folderze wyzwalacz anomalii udostępnia profil próbkowania stosu transakcji w folderze.
To wywołanie zwrotne interfejsu API następuje przed wprowadzeniem jakichkolwiek ograniczeń przez system. Może to na przykład pomóc deweloperom w zbieraniu danych debugowania, zanim aplikacja zostanie zamknięta przez system z powodu przekroczenia limitów pamięci. Aby dowiedzieć się, jak korzystać z reguły, zapoznaj się z naszą dokumentacją dotyczącą profilowania na podstawie reguł.
val profilingManager = applicationContext.getSystemService(ProfilingManager::class.java) val triggers = ArrayList<ProfilingTrigger>() triggers.add(ProfilingTrigger.Builder( ProfilingTrigger.TRIGGER_TYPE_ANOMALY)) val mainExecutor: Executor = Executors.newSingleThreadExecutor() val resultCallback = Consumer<ProfilingResult> { profilingResult -> if (profilingResult.errorCode != ProfilingResult.ERROR_NONE) { // upload profile result to server for further analysis setupProfileUploadWorker(profilingResult.resultFilePath) } profilingManager.registerForAllProfilingResults(mainExecutor, resultCallback) profilingManager.addProfilingTriggers(triggers) }
Kryptografia postkwantowa (PQC) w magazynie kluczy Androida
Pamięć kluczy Androida zyskała obsługę zgodnego ze standardem NIST algorytmu podpisu cyfrowego ML-DSA (Module-Lattice-Based Digital Signature Algorithm). Na obsługiwanych urządzeniach możesz generować klucze ML-DSA i używać ich do tworzenia podpisów odpornych na złamanie za pomocą komputera kwantowego w całości w bezpiecznym sprzęcie urządzenia. Magazyn kluczy Androida udostępnia warianty algorytmu ML-DSA-65 i ML-DSA-87 za pomocą standardowych interfejsów API architektury kryptograficznej Java: KeyPairGenerator, KeyFactory i Signature. Więcej informacji znajdziesz w naszej dokumentacji dla deweloperów.
KeyPairGenerator generator = KeyPairGenerator.getInstance( “ML-DSA-65”, "AndroidKeyStore"); generator.initialize( new KeyGenParameterSpec.Builder( “my-key-alias”, KeyProperties.PURPOSE_SIGN | KeyProperties.PURPOSE_VERIFY) .build()); KeyPair keyPair = generator.generateKeyPair();
Pierwsze kroki z Androidem 17
Możesz zarejestrować dowolne obsługiwane urządzenie Pixel, aby otrzymywać tę i przyszłe aktualizacje wersji beta Androida bezprzewodowo. Jeśli nie masz urządzenia Pixel, możesz używać 64-bitowych obrazów systemu z emulatorem Androida w Android Studio.
Jeśli uczestniczysz w programie Android Beta, otrzymasz aktualizację OTA do wersji beta 4.
Nadal zgłaszaj problemy i przesyłaj prośby o dodanie funkcji na stronie z opiniami. Im wcześniej otrzymamy Twoją opinię, tym więcej będziemy mogli uwzględnić w naszej pracy nad ostateczną wersją.
Aby zapewnić sobie najlepsze środowisko programistyczne w Androidzie 17, zalecamy korzystanie z najnowszej wersji podglądowej Androida Studio (Panda). Po skonfigurowaniu konta wykonaj te czynności:
- Skompiluj kod z użyciem nowego pakietu SDK, przetestuj go w środowiskach CI i zgłoś wszelkie problemy w naszym narzędziu do śledzenia na stronie z opiniami.
- Sprawdź, czy Twoja obecna aplikacja jest zgodna z Androidem 17, dowiedz się, czy zmiany w Androidzie 17 mają na nią wpływ, zainstaluj ją na urządzeniu lub emulatorze z Androidem 17 i dokładnie ją przetestuj.
Będziemy regularnie aktualizować obrazy systemu w wersji podglądowej lub beta i pakiet SDK w trakcie cyklu wydawniczego Androida 17. Po zainstalowaniu wersji beta będziesz automatycznie otrzymywać przyszłe aktualizacje OTA wszystkich kolejnych wersji przedpremierowych i beta.
Pełne informacje znajdziesz na stronie dla deweloperów Androida 17.
Dołącz do rozmowy
Twoja opinia jest dla nas najcenniejszym zasobem. Niezależnie od tego, czy jesteś osobą, która jako jedna z pierwszych korzysta z wersji Canary, czy deweloperem aplikacji testującym wersję Beta 4, możesz dołączyć do naszych społeczności i przesłać opinię. Słuchamy.
Czytaj dalej
-
Wiadomości o usługach
Android Studio Panda 4 jest już stabilny i możesz go używać w środowisku produkcyjnym. Wprowadziliśmy m.in. tryb planowania i przewidywanie kolejnych zmian, dzięki czemu tworzenie wysokiej jakości aplikacji na Androida jest jeszcze łatwiejsze.
Matt Dyor • Czas czytania: 5 minut
-
Wiadomości o usługach
Jeśli jesteś deweloperem aplikacji na Androida i chcesz wdrożyć w niej innowacyjne funkcje oparte na AI, niedawno udostępniliśmy nowe, zaawansowane aktualizacje.
Thomas Ezan • Czas czytania: 3 minuty
-
Wiadomości o usługach
Uczynienie z Google Play jak najbezpieczniejszej i najbardziej godnej zaufania usługi. Dziś ogłaszamy nowy zestaw aktualizacji zasad i funkcję przenoszenia konta, które zwiększą prywatność użytkowników i ochronią Twoją firmę przed oszustwami.
Bennet Manuel • Czas czytania: 3 minuty
Bądź na bieżąco
Otrzymuj co tydzień najnowsze informacje o tworzeniu aplikacji na Androida na swoją skrzynkę odbiorczą.