Migracja aplikacji na Androida 11

W każdej wersji Androida wprowadzamy nowe funkcje oraz zmiany w działaniu Androida, aby zwiększyć jego użyteczność, bezpieczeństwo i wydajność. W wielu przypadkach aplikacja będzie działać zgodnie z oczekiwaniami, ale w innych przypadkach może być konieczne wprowadzenie zmian w aplikacji, aby dostosować ją do zmian na platformie.

Użytkownicy mogą zacząć korzystać z nowej platformy, gdy tylko kod źródłowy zostanie opublikowany w AOSP (Android Open Source Project). Dlatego ważne jest, aby aplikacje były gotowe, działały zgodnie z oczekiwaniami użytkowników i w optymalny sposób korzystały z nowych funkcji oraz interfejsów API, aby w pełni wykorzystać możliwości nowej platformy.

Ten dokument zawiera ogólny opis typowych faz rozwoju i testowania, które mogą pomóc w przygotowaniu aplikacji do działania zgodnie z harmonogramem wydania platformy i zapewnić użytkownikom płynne działanie na Androidzie 11.

Typowa migracja ma 2 fazy, które mogą być wykonywane równolegle:

  • Zapewnienie zgodności aplikacji (do wydania Androida 11)
  • kierowanie na nowe funkcje i interfejsy API platformy (jak najszybciej po ich ostatecznym wydaniu);

Na tej stronie opisujemy ogólne czynności dla każdego z tych etapów. Gdy wszystko będzie gotowe, przeczytaj artykuł Zapoznaj się z Androidem 11.

Zapewnienie zgodności z Androidem 11

Aby zapewnić użytkownikom płynne działanie aplikacji po aktualizacji do najnowszej wersji Androida, ważne jest przetestowanie jej funkcjonalności w Androidzie 11. Niektóre zmiany platformy mogą wpływać na działanie aplikacji, dlatego ważne jest, aby przetestować ją dokładnie i w pełni, a następnie wprowadzić w niej niezbędne poprawki.

Zazwyczaj możesz dostosować aplikację i opublikować jej aktualizację bez konieczności zmiany targetSdkVersion. Nie musisz też używać nowych interfejsów API ani zmieniać compileSdkVersion aplikacji, chociaż może to zależeć od sposobu tworzenia aplikacji i wykorzystywanych przez nią funkcji platformy. W następnych sekcjach znajdziesz opis tych czynności.

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

Przeprowadź testy zgodności

W większości przypadków testowanie zgodności z Androidem 11 jest podobne do testów przeprowadzanych podczas przygotowywania aplikacji do wydania. Warto teraz zapoznać się ze podstawowymi wytycznymi dotyczącymi jakości aplikacjinajlepszymi praktykami testowania.

Wystarczy, że zainstalujesz opublikowaną aplikację na urządzeniu z Androidem 11 i przetestujesz wszystkie przepływy i funkcje, szukając problemów. Aby ułatwić Ci skupienie się na testowaniu, zapoznaj się z zmianami w zachowaniu wprowadzonymi w Androidzie 11, które mogą mieć wpływ na działanie aplikacji lub spowodować jej awarię. Zwróć szczególną uwagę na najważniejsze zmiany dotyczące prywatności i sprawdź wszystkie wdrożone poprawki, które uwzględniają te zmiany.

Sprawdź i przetestuj użycie ograniczonych interfejsów innych niż SDK, a potem przejdź na publiczne pakiety SDK lub NDK. Zwróć uwagę na ostrzeżenia logcat, które wskazują na te dostępy, i użyj metody StrictMode detectNonSdkApiUsage(), aby wykrywać je programowo.

Na koniec przetestuj biblioteki i pakiety SDK w aplikacji, aby upewnić się, że działają one zgodnie z oczekiwaniami w Androidzie 11 i są zgodne z najlepszymi praktykami dotyczącymi 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 wszelkich aktualizacji zalecamy natychmiastowe opublikowanie zgodnej aplikacji. Dzięki temu użytkownicy będą mogli przetestować aplikację wcześniej i zapewnić im płynne przejście na Androida 11.

Zaktualizuj kierowanie aplikacji i zastosuj nowe interfejsy API

Po opublikowaniu zgodnej wersji aplikacji w opisany wcześniej sposób zadbaj o pełną obsługę Androida 11 przez aktualizację targetSdkVersion i skorzystanie z nowych interfejsów API i możliwości Androida 11. Możesz to zrobić, gdy tylko będziesz gotowy, pamiętając o wymaganiach Google Play dotyczących kierowania na nową platformę.

Planując swoje działania, aby w pełni obsługiwać Androida 11, warto zacząć od przeanalizowania zmian w działaniu, które dotyczą aplikacji kierowanych na Androida 11. Te zmiany w działaniu kierowanym mogą powodować problemy z funkcjonalnością, które trzeba będzie rozwiązać. Niekiedy mogą wymagać dużego nakładu pracy, dlatego warto wiedzieć o nich jak najwcześniej. Aby poznać wpływ zmian, możesz też użyć przełączników zgodności, aby przetestować aktualną wersję aplikacji z włączonymi wybranymi zmianami.

Poniższe kroki opisują, jak w pełni zapewnić obsługę Androida 11.

Pobieranie pakietu SDK, zmiana kierowania i tworzenie za pomocą nowych interfejsów API

Aby uzyskać pełną obsługę Androida 11, najpierw pobierz pakiet SDK Androida 11 (oraz inne potrzebne narzędzia) do Android Studio. Następnie zmień wartości targetSdkVersioncompileSdkVersion na "30", a następnie ponownie skompiluj aplikację. Szczegółowe informacje znajdziesz w przewodniku konfiguracji.

Testowanie aplikacji na Androida 11

Gdy skompilujesz aplikację i zainstalujesz ją na urządzeniu z Androidem 11, rozpocznij testy, aby sprawdzić, czy aplikacja działa prawidłowo, gdy jest kierowana na ten system. Niektóre zmiany zachowania mają zastosowanie tylko wtedy, gdy aplikacja jest kierowana na nową platformę, dlatego przed rozpoczęciem sprawdź te zmiany.

Podobnie jak w przypadku podstawowego testowania 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. Pamiętaj w szczególności o zapoznaniu się ze zmianami dotyczącymi prywatności i przetestowaniu wprowadzanych przez siebie poprawek. Warto też sprawdzić aplikację pod kątem zgodności ze podstawowymi wytycznymi dotyczącymi jakości aplikacjisprawdzonymi metodami testowania.

Sprawdź i przetestuj użycie ograniczonych interfejsów spoza pakietu SDK, które może być wymagane. Zwróć uwagę na ostrzeżenia logcat, które wskazują te dostępy, i użyj metody StrictMode detectNonSdkApiUsage(), aby je przechwycić za pomocą kodu.

Na koniec przetestuj biblioteki i pakiety SDK w aplikacji, aby upewnić się, że działają one zgodnie z oczekiwaniami w Androidzie 11. Pamiętaj też o przestrzeganiu najlepszych praktyk dotyczących prywatności, wydajności, UX, obsługi danych i uprawnień. Jeśli napotkasz problem, spróbuj zaktualizować pakiet SDK do najnowszej wersji lub poproś o pomoc jego dewelopera.

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

Android 11 wprowadza nową funkcję dla deweloperów, która ułatwia testowanie aplikacji z celowymi zmianami zachowania. W przypadku aplikacji, którą można debugować, przełączniki umożliwiają:

  • Testuj zmiany docelowe bez faktycznej zmiany wartości targetSdkVersion aplikacji. Za pomocą przełączników możesz wymusić włączenie określonych zmian w docelowanym zachowaniu, aby ocenić ich wpływ na dotychczasową aplikację.
  • Skup się na testowaniu tylko konkretnych zmian. Zamiast wprowadzać wszystkie docelowe zmiany jednocześnie, przełączniki pozwalają wyłączyć wszystkie docelowe zmiany z wyjątkiem tych, które chcesz przetestować.
  • Zarządzanie przełącznikami w narzędziu adb Aby włączać i wyłączać zmiany w automatycznym środowisku testowym, możesz używać poleceń adb.
  • Szybsze debugowanie przy użyciu standardowych identyfikatorów zmian. Każda zmiana, którą można włączać i wyłączać, ma niepowtarzalny identyfikator i nazwę, których możesz używać do szybkiego debugowania przyczyny w wyjściu z dziennika.

Przełączniki mogą Ci się przydać, gdy przygotowujesz się do zmiany kierowania aplikacji lub gdy aktywnie pracujesz nad obsługą Androida 11. Więcej informacji znajdziesz w odpowiedniej dokumentacji.