W każdej wersji Androida wprowadzamy nowe funkcje i zmiany w działaniu, które mają na celu zwiększenie użyteczności, bezpieczeństwa i wydajności tego systemu. W wielu przypadkach aplikacja będzie działać dokładnie tak, jak oczekujesz, 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, gdy tylko kod źródłowy zostanie udostępniony w AOSP (Projekt Android Open Source). Dlatego ważne jest, aby aplikacje były gotowe, działały zgodnie z oczekiwaniami użytkowników i wykorzystywały nowe funkcje oraz interfejsy API, aby w pełni korzystać z nowej platformy.
W tym dokumencie znajdziesz ogólny opis typowych etapów programowania i testowania, który pomoże Ci opracować plan gotowości aplikacji do nowej platformy. Plan ten powinien być zgodny z harmonogramem udostępniania platformy i zapewniać użytkownikom jak najlepsze wrażenia w Androidzie 11.
Typowa migracja składa się z 2 etapów, które mogą przebiegać równolegle:
- zapewnienie zgodności aplikacji (do czasu ostatecznej wersji Androida 11);
- dostosowanie aplikacji do nowych funkcji i interfejsów API platformy (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 do rozpoczęcia, przeczytaj artykuł Pobieranie Androida 11.
Zapewnianie zgodności z Androidem 11
Ważne jest, aby przetestować działanie dotychczasowej aplikacji w Androidzie 11, aby zapewnić użytkownikom jak najlepsze wrażenia po aktualizacji do najnowszej wersji Androida. Niektóre zmiany na platformie mogą wpływać na działanie aplikacji, dlatego ważne jest, aby przeprowadzić wczesne i dokładne testy, a następnie wprowadzić w aplikacji niezbędne zmiany.
Zazwyczaj możesz dostosować aplikację i opublikować aktualizację bez konieczności zmiany targetSdkVersion aplikacji. Podobnie nie powinno być konieczne używanie nowych interfejsów API ani zmienianie compileSdkVersion aplikacji, chociaż może to zależeć od sposobu tworzenia aplikacji i używanych przez nią funkcji platformy. 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
W większości przypadków testowanie zgodności z Androidem 11 jest podobne do testów, które przeprowadzasz podczas przygotowywania aplikacji do opublikowania. To dobry moment, aby zapoznać się z podstawowymi wskazówkami dotyczącymi jakości aplikacji i sprawdzonymi metodami testowania.
Zainstaluj aktualnie opublikowaną aplikację na urządzeniu z Androidem 11 i sprawdź wszystkie przepływy oraz funkcje, aby znaleźć problemy. Aby ułatwić Ci skupienie się na testach, zapoznaj się ze zmianami w działaniu wprowadzonymi w Androidzie 11, które mogą wpływać na działanie aplikacji lub powodować jej awarię. W szczególności zapoznaj się z najważniejszymi zmianami dotyczącymi prywatności i przetestuj wszystkie poprawki, które wprowadzisz, aby dostosować się do tych zmian.
Zapoznaj się też z użyciem ograniczonych interfejsów innych niż SDK i przetestuj je, a następnie zastąp je odpowiednikami z publicznego pakietu SDK lub NDK. Zwróć uwagę na ostrzeżenia w logcat
, które wskazują na te dostępy, i użyj 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 w Androidzie 11 i są zgodne ze sprawdzonymi metodami w zakresie prywatności, wydajności, wygody użytkownika, obsługi danych i uprawnień. Jeśli znajdziesz problem, spróbuj zaktualizować pakiet SDK do najnowszej wersji lub skontaktuj się z jego deweloperem.
Gdy skończysz testowanie i wprowadzisz wszystkie aktualizacje, zalecamy natychmiastowe opublikowanie zgodnej aplikacji. Dzięki temu użytkownicy będą mogli wcześniej przetestować aplikację, a Ty zapewnisz im płynne przejście na Androida 11.
Aktualizowanie kierowania aplikacji i tworzenie jej za pomocą nowych interfejsów API
Gdy opublikujesz zgodną wersję aplikacji zgodnie z opisem powyżej, następnym krokiem jest dodanie pełnej obsługi Androida 11 przez zaktualizowanie targetSdkVersion i wykorzystanie nowych interfejsów API oraz funkcji Androida 11. Możesz to zrobić, gdy tylko będz101}będziesz gotowy/a, pamiętając o wymaganiu Google Play dotyczącym kierowania na nową
platformę.
Podczas planowania pracy nad pełną obsługą Androida 11 warto zacząć od zapoznania się ze zmianami w działaniu, które dotyczą aplikacji kierowanych na Androida 11. Te zmiany w działaniu związane z kierowaniem mogą powodować problemy z działaniem, które trzeba będzie rozwiązać. W niektórych przypadkach mogą one wymagać znacznych nakładów pracy, dlatego warto się z nimi zapoznać jak najwcześniej. Aby ocenić wpływ tych zmian, możesz też użyć przełączników zgodności, aby przetestować bieżącą aplikację z włączonymi wybranymi zmianami.
Poniższe kroki opisują, jak w pełni obsługiwać Androida 11.
Pobieranie pakietu SDK, zmienianie kierowania i tworzenie aplikacji za pomocą nowych interfejsów API
Aby rozpocząć pełną obsługę Androida 11, najpierw pobierz pakiet Android 11 SDK (i inne potrzebne narzędzia) do Android Studio.
Następnie zmień targetSdkVersion i compileSdkVersion aplikacji na "30"i
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, zacznij testować, aby upewnić się, że działa ona prawidłowo, gdy jest kierowana na Androida 11. Niektóre zmiany w działaniu obowiązują tylko wtedy, gdy aplikacja jest kierowana na nową platformę, dlatego przed rozpoczęciem pracy warto się z nimi zapoznać.
Podobnie jak w przypadku podstawowych testów zgodności, sprawdź wszystkie przepływy i funkcje, aby znaleźć problemy. Skup się na zmianach w działaniu aplikacji kierowanych na Androida 11. W szczególności zapoznaj się ze zmianami dotyczącymi prywatności i przetestuj wszystkie poprawki, które wprowadzisz, aby dostosować się do tych zmian. To też dobry moment, aby sprawdzić, czy aplikacja jest zgodna z podstawowymi wskazówkami dotyczącymi jakości aplikacji i sprawdzonymi metodami testowania.
Zapoznaj się z użyciem ograniczonych interfejsów innych niż SDK
, które mogą mieć zastosowanie, i przetestuj je. Zwróć uwagę na ostrzeżenia w logcat, które wskazują na te dostępy, i użyj
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 w Androidzie 11 i są zgodne ze sprawdzonymi metodami w zakresie prywatności, wydajności, wygody użytkownika, obsługi danych i uprawnień. Jeśli znajdziesz problem, spróbuj zaktualizować pakiet SDK do najnowszej wersji lub skontaktuj się z jego deweloperem.
Testowanie za pomocą przełączników zgodności aplikacji
W Androidzie 11 wprowadziliśmy nową funkcję dla deweloperów, która ułatwia testowanie aplikacji ze zmianami w działaniu związanymi z kierowaniem. W przypadku aplikacji z możliwością debugowania przełączniki umożliwiają:
- Testowanie zmian związanych z kierowaniem bez faktycznej zmiany targetSdkVersion aplikacji. Za pomocą przełączników możesz wymusić włączenie określonych zmian w działaniu związanych z kierowaniem, aby ocenić ich wpływ na dotychczasową aplikację.
- Skupienie się w testach tylko na określonych zmianach. Zamiast zajmować się wszystkimi zmianami związanymi z kierowaniem naraz, możesz wyłączyć wszystkie zmiany związane z kierowaniem oprócz 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 zautomatyzowanym środowisku testowym.
- Szybsze debugowanie za pomocą standardowych identyfikatorów zmian. Każda zmiana, którą można przełączać, ma unikalny identyfikator i nazwę, których możesz użyć do szybkiego debugowania przyczyny głównej w danych wyjściowych dziennika.
Przełączniki mogą być przydatne podczas przygotowywania się do zmiany kierowania aplikacji lub podczas aktywnego tworzenia aplikacji z obsługą Androida 11. Więcej informacji znajdziesz w odpowiedniej dokumentacji.