Migracja aplikacji na Androida 11

W każdej wersji Androida wprowadzamy nowe funkcje i zmiany zachowania, aby system był bardziej przydatny, bezpieczny i wydajny. W wielu przypadkach aplikacja będzie działać zgodnie z oczekiwaniami, ale w niektórych przypadkach konieczne może być wprowadzenie zmian w aplikacji, aby dostosować ją do zmian w 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 maksymalny 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 Ci w opracowaniu planu przygotowania aplikacji do działania w ramach harmonogramu wydania platformy. Dzięki temu użytkownicy będą mogli korzystać z aplikacji na Androida 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 (najszybciej, jak to możliwe po ich ostatecznym wydaniu);

Na tej stronie znajdziesz ogólne instrukcje dotyczące 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 wcześnie, a następnie wprowadzić w niej niezbędne poprawki.

Zazwyczaj możesz dostosować aplikację i opublikować jej aktualizację bez konieczności zmiany targetSdkVersion. Podobnie nie musisz używać nowych interfejsów API ani zmieniać compileSdkVersion aplikacji, choć może to zależeć od sposobu jej tworzenia i funkcjonalności platformy, z której korzysta. 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.

Przeprowadzanie testów 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 wskazówkami 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 główne 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. Pamiętaj też o przestrzeganiu najlepszych praktyk dotyczących 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 mogą wcześniej przetestować aplikację, a Ty możesz zapewnić im płynne przejście na Androida 11.

Zaktualizuj kierowanie aplikacji i utwórz wersję z nowymi interfejsami API

Po opublikowaniu zgodnej wersji aplikacji zgodnie z opisem w poprzednim kroku dodaj pełną obsługę Androida 11, aktualizując targetSdkVersion i korzystając z nowych interfejsów API oraz funkcji 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 działania mające na celu zapewnienie pełnej obsługi Androida 11, warto zacząć od zapoznania się z zmianami w zachowaniu, 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ć. W niektórych przypadkach mogą wymagać znacznego rozwinięcia, dlatego warto się z nimi zapoznać 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.

Podane niżej kroki opisują, jak zapewnić pełną obsługę Androida 11.

Pobieranie pakietu SDK, zmiana ustawienia kierowania i tworzenie reklam z użyciem 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"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 testy, aby sprawdzić, czy aplikacja działa prawidłowo, gdy kierujesz ją na Androida 11. 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. Skoncentruj się na testowaniu zmian w zachowaniu aplikacji kierowanych na Androida 11. W szczególności sprawdź zmiany dotyczące prywatności i przetestuj wszelkie poprawki, które wdrożysz, aby uwzględnić te zmiany. Warto też sprawdzić, czy aplikacja jest zgodna 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ć konieczne. 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 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 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 modyfikować wszystkie zmiany docelowe jednocześnie, możesz wyłączyć wszystkie zmiany docelowe oprócz tych, które chcesz przetestować.
  • Zarządzaj przełącznikami za pomocą adb Aby włączać i wyłączać zmiany w automatycznym środowisku testowym, możesz używać poleceń adb.
  • 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ż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. Aby dowiedzieć się więcej, zapoznaj się z odpowiednią dokumentacją.