Migracja aplikacji na Androida 11

W każdej nowej wersji Androida wprowadzamy nowe funkcje i zmiany w działaniu systemu, aby był on bardziej pomocny, bezpieczniejszy i wydajniejszy. W wielu przypadkach aplikacja będzie działać od razu zgodnie z oczekiwaniami, ale w innych może być konieczne wprowadzenie w niej zmian, aby dostosować ją do zmian na platformie.

Użytkownicy mogą zacząć korzystać z nowej platformy od razu po udostępnieniu kodu źródłowego w AOSP (Android Open Source Project), dlatego ważne jest, aby aplikacje były gotowe i działały zgodnie z oczekiwaniami użytkowników. Najlepiej, jeśli będą też wykorzystywać nowe funkcje i interfejsy API, aby w pełni korzystać z nowej platformy.

Ten dokument zawiera ogólny opis typowych etapów tworzenia i testowania, które pomogą Ci opracować plan przygotowań dobrze dopasowany do harmonogramu wydania platformy i zapewniający użytkownikom doskonałe wrażenia w systemie Android 11.

Typowa migracja składa się z 2 faz, które mogą przebiegać równocześnie:

  • Zapewnienie zgodności aplikacji (do czasu wydania ostatecznej wersji Androida 11)
  • Korzystanie z nowych funkcji platformy i interfejsów API (jak najszybciej po ostatecznej wersji)

Na tej stronie znajdziesz ogólne instrukcje dotyczące każdego z tych etapów. Gdy wszystko będzie gotowe, przeczytaj artykuł Pobieranie Androida 11.

Zapewnienie zgodności z Androidem 11

Ważne jest, aby przetestować działanie obecnej aplikacji w Androidzie 11 i zapewnić użytkownikom, którzy zaktualizują system do najnowszej wersji, jak najlepsze wrażenia. Niektóre zmiany na platformie mogą wpływać na działanie aplikacji, dlatego ważne jest, aby wcześnie i dokładnie ją przetestować, a następnie wprowadzić niezbędne poprawki.

Zwykle możesz dostosować aplikację i opublikować aktualizację bez konieczności zmiany targetSdkVersion. Podobnie nie powinno być konieczne używanie nowych interfejsów API ani zmienianie compileSdkVersion aplikacji, chociaż może to zależeć od sposobu jej tworzenia i funkcji platformy, z których korzysta. W kolejnych sekcjach opisujemy te kroki.

Zanim zaczniesz, zapoznaj się ze zmianami w działaniu, które mogą mieć wpływ na Twoją aplikację, nawet jeśli nie zmienisz jej targetSdkVersion.

Przeprowadzanie testów zgodności

Testowanie zgodności z Androidem 11 jest w większości przypadków podobne do testów, które przeprowadzasz podczas przygotowywania aplikacji do publikacji. To dobry moment, aby zapoznać się z podstawowymi wytycznymi dotyczącymi jakości aplikacjinajlepszymi praktykami w zakresie testowania.

Wystarczy, że zainstalujesz opublikowaną aplikację na urządzeniu z Androidem 11 i sprawdzisz wszystkie procesy i funkcje, aby wykryć problemy. Aby ułatwić sobie testowanie, zapoznaj się ze zmianami w działaniu wprowadzonymi w Androidzie 11, które mogą mieć wpływ na działanie aplikacji lub powodować jej awarie. W szczególności zapoznaj się z najważniejszymi zmianami dotyczącymi prywatności i przetestuj wszelkie poprawki, które wprowadzisz w celu dostosowania się do tych zmian.

Sprawdź też, czy nie używasz interfejsów innych niż SDK, które są objęte ograniczeniami, i zastąp je publicznymi odpowiednikami SDK lub NDK. Wypatruj ostrzeżeń logcat, które wskazują na te dostępy, i używaj metody StrictMode detectNonSdkApiUsage(), aby wykrywać je automatycznie.

Na koniec dokładnie przetestuj biblioteki i pakiety SDK w aplikacji, aby upewnić się, że działają one zgodnie z oczekiwaniami na Androidzie 11 i są zgodne z najlepszymi praktykami w zakresie prywatności, wydajności, UX, obsługi danych i uprawnień. Jeśli znajdziesz problem, spróbuj zaktualizować pakiet SDK do najnowszej wersji lub skontaktuj się z jego deweloperem, aby uzyskać pomoc.

Po zakończeniu testów i wprowadzeniu zmian zalecamy natychmiastowe opublikowanie zgodnej aplikacji. Dzięki temu użytkownicy mogą wcześniej przetestować aplikację, a Ty możesz zapewnić im płynne przejście na Androida 11.

Zaktualizuj kierowanie aplikacji i utwórz ją za pomocą nowych interfejsów API

Po opublikowaniu zgodnej wersji aplikacji zgodnie z opisem powyżej kolejnym krokiem jest dodanie pełnej obsługi Androida 11 przez zaktualizowanie targetSdkVersion i skorzystanie z nowych interfejsów API oraz funkcji Androida 11. Możesz to zrobić, gdy tylko będziesz gotowy(-a), pamiętając o wymaganiach Google Play dotyczących kierowania na nową platformę.

Podczas planowania pracy nad pełną obsługą Androida 11 warto zacząć od zapoznania się ze zmianami w działaniu aplikacji kierowanych na Androida 11. Te ukierunkowane zmiany w działaniu mogą powodować problemy z funkcjonalnością, które mogą wymagać rozwiązania. W niektórych przypadkach mogą one wymagać znacznego nakładu pracy, dlatego warto dowiedzieć się o nich jak najwcześniej. Aby pomóc Ci ocenić wpływ tych zmian, możesz też użyć przełączników zgodności do testowania bieżącej aplikacji z wybranymi zmianami.

Poniżej znajdziesz opis pełnej obsługi Androida 11.

Pobieranie pakietu SDK, zmienianie kierowania i tworzenie aplikacji z użyciem nowych interfejsów API

Aby zacząć korzystać z pełnej obsługi Androida 11, najpierw pobierz pakiet Android 11 SDK (i inne potrzebne narzędzia) do Android Studio. Następnie zmień wartości targetSdkVersioncompileSdkVersion na "30" i ponownie skompiluj aplikację. Szczegółowe informacje znajdziesz w przewodniku konfiguracji.

Testowanie aplikacji na Androida 11

Po skompilowaniu aplikacji i zainstalowaniu jej na urządzeniu z Androidem 11 rozpocznij testowanie, aby upewnić się, że działa ona prawidłowo w przypadku kierowania na Androida 11. Niektóre zmiany w działaniu mają zastosowanie tylko wtedy, gdy aplikacja jest kierowana na nową platformę, więc przed rozpoczęciem pracy zapoznaj się z tymi zmianami.

Podobnie jak w przypadku podstawowych testów zgodności, sprawdź wszystkie przepływy i funkcje pod kątem problemów. Skup się na testowaniu zmian w działaniu aplikacji kierowanych na Androida 11. W szczególności zapoznaj się ze zmianami w zakresie ochrony prywatności i przetestuj wszelkie poprawki, które wprowadzisz w celu dostosowania się do tych zmian. Warto też sprawdzić, czy aplikacja jest zgodna z podstawowymi wytycznymi dotyczącymi jakości aplikacjisprawdzonymi metodami testowania.

Sprawdź i przetestuj przypadki użycia ograniczonych interfejsów innych niż SDK, które mogą mieć zastosowanie. W logcatach szukaj ostrzeżeń dotyczących tych dostępów i używaj metody StrictMode detectNonSdkApiUsage(), aby wykrywać je programowo.

Na koniec dokładnie przetestuj biblioteki i pakiety SDK w aplikacji, aby upewnić się, że działają one zgodnie z oczekiwaniami na Androidzie 11 i są zgodne z najlepszymi praktykami w zakresie prywatności, wydajności, UX, obsługi danych i uprawnień. Jeśli znajdziesz problem, spróbuj zaktualizować pakiet SDK do najnowszej wersji lub skontaktuj się z jego deweloperem, aby uzyskać pomoc.

Testowanie za pomocą przełączników zgodności aplikacji

Android 11 wprowadza nową funkcję dla deweloperów, która ułatwia testowanie aplikacji pod kątem zmian w jej działaniu. W przypadku aplikacji, którą można debugować, przełączniki umożliwiają:

  • Testuj zmiany kierowane bez faktycznej zmiany parametru targetSdkVersion aplikacji. Za pomocą przełączników możesz wymusić włączenie określonych zmian w zachowaniu ukierunkowanym, aby ocenić ich wpływ na dotychczasową aplikację.
  • Skup się w testach tylko na konkretnych zmianach. Zamiast wprowadzać wszystkie zmiany jednocześnie, możesz wyłączyć wszystkie zmiany kierowane z wyjątkiem tych, które chcesz przetestować.
  • Zarządzanie przełącznikami za pomocą adb Za pomocą poleceń adb możesz włączać i wyłączać zmiany, które można przełączać, w automatycznym środowisku testowym.
  • Szybsze debugowanie dzięki standardowym identyfikatorom zmian Każda zmiana, którą można włączyć lub wyłączyć, ma niepowtarzalny identyfikator i nazwę, których możesz użyć do szybkiego debugowania przyczyny głównej w danych wyjściowych dziennika.

Podczas przygotowywania się do zmiany kierowania aplikacji lub w trakcie aktywnego opracowywania obsługi Androida 11 możesz skorzystać z przełączników. Więcej informacji znajdziesz w odpowiedniej dokumentacji.