W każdej nowej wersji Androida wprowadzamy nowe funkcje i zmiany w zachowaniu, dzięki którym system jest bardziej pomocny, bezpieczny i wydajny. W wielu przypadkach aplikacja będzie działać dokładnie tak, jak oczekujesz, ale w innych może być konieczne wprowadzenie zmian, aby dostosować ją do zmian na platformie.
Użytkownicy mogą zacząć korzystać z nowej platformy, gdy tylko kod źródłowy zostanie opublikowany w projekcie Android Open Source Project (AOSP). Dlatego ważne jest, aby aplikacje były gotowe, działały zgodnie z oczekiwaniami użytkowników i najlepiej wykorzystywały nowe funkcje i interfejsy API, aby w pełni wykorzystać możliwości nowej platformy.
Ten dokument zawiera ogólny przegląd typowych faz programowania i testowania, które mogą pomóc Ci zaplanować gotowość aplikacji zgodnie z harmonogramem wydawania platformy i zapewnić użytkownikom Androida 11 doskonałe wrażenia.
Typowa migracja składa się z 2 faz, które mogą przebiegać równolegle:
- Zapewnienie zgodności aplikacji (do czasu ostatecznej wersji Androida 11)
- Uwzględnianie nowych funkcji platformy i interfejsów API (jak najszybciej po ostatecznej wersji)
Na tej stronie znajdziesz ogólne instrukcje dotyczące każdej z tych faz. Gdy wszystko będzie gotowe, przeczytaj artykuł Pobieranie Androida 11.
Zapewnianie zgodności z Androidem 11
Ważne jest, aby przetestować funkcje dotychczasowej aplikacji na Androidzie 11, aby zapewnić użytkownikom aktualizującym system do najnowszej wersji Androida 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 zmiany.
Zwykle możesz dostosować aplikację i opublikować aktualizację bez konieczności zmiany targetSdkVersion aplikacji. Nie powinno być też konieczne używanie nowych interfejsów API ani zmienianie compileSdkVersion aplikacji, chociaż może to zależeć od sposobu jej utworzenia i używanych funkcji platformy. W kolejnych sekcjach opisano te kroki.
Zanim zaczniesz, zapoznaj się ze 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, które przeprowadzasz, przygotowując aplikację do opublikowania. To dobry moment, aby zapoznać się ze wskazówkami dotyczącymi jakości aplikacji i sprawdzonymi metodami testowania.
Wystarczy zainstalować aktualnie opublikowaną aplikację na urządzeniu z Androidem 11 i sprawdzić wszystkie procesy i funkcje pod kątem problemów. Aby ułatwić sobie testowanie, zapoznaj się ze zmianami w zachowaniu 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ć aplikację do tych zmian.
Pamiętaj też, aby sprawdzić i przetestować przypadki użycia zastrzeżonych interfejsów innych niż SDK i zamiast nich używać publicznych odpowiedników SDK lub NDK. Zwracaj uwagę na ostrzeżenia logcat, które wskazują takie przypadki dostępu, 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ą zgodnie z oczekiwaniami na Androidzie 11 i są zgodne ze sprawdzonymi metodami dotyczącymi prywatności, wydajności, wygody użytkowników, przetwarzania danych i uprawnień. Jeśli znajdziesz problem, spróbuj zaktualizować pakiet SDK do najnowszej wersji lub skontaktuj się z deweloperem pakietu SDK, 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ą z nowymi interfejsami API
Po opublikowaniu zgodnej wersji 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ędziesz gotowy(-a), pamiętając o wymaganiach Google Play dotyczących kierowania na nową platformę.
Planując pracę 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 zachowaniu mogą powodować problemy z funkcjonalnością, które mogą wymagać rozwiązania. W niektórych przypadkach mogą wymagać znacznego nakładu pracy programistycznej, dlatego najlepiej zapoznać się z nimi jak najwcześniej. Aby ocenić wpływ zmian, możesz też użyć przełączników zgodności, aby przetestować bieżącą aplikację z włączonymi wybranymi zmianami.
Poniżej znajdziesz instrukcje, jak zapewnić pełną obsługę Androida 11.
Pobieranie pakietu SDK, zmiana kierowania, tworzenie aplikacji z użyciem nowych interfejsów API
Aby zacząć korzystać z pełnej obsługi Androida 11, najpierw pobierz pakiet SDK Androida 11 (i inne potrzebne narzędzia) do Android Studio.
Następnie zmień targetSdkVersion i compileSdkVersion aplikacji na "30" i ponownie ją skompiluj. Szczegółowe informacje znajdziesz w instrukcji konfiguracji.
Testowanie aplikacji na Androida 11
Po skompilowaniu aplikacji i zainstalowaniu jej na urządzeniu z Androidem 11 rozpocznij testowanie, aby upewnić się, że aplikacja działa prawidłowo na Androidzie 11. Niektóre zmiany w zachowaniu mają zastosowanie tylko wtedy, gdy aplikacja jest kierowana na nową platformę, dlatego przed rozpoczęciem warto zapoznać się z tymi zmianami.
Podobnie jak w przypadku podstawowych testów zgodności, sprawdź wszystkie procesy i funkcje pod kątem problemów. Skup się na testowaniu zmian w działaniu aplikacji na Androida 11. W szczególności zapoznaj się ze zmianami dotyczącymi prywatności i przetestuj wszystkie poprawki, które wprowadzisz, aby dostosować aplikację do tych zmian. To także dobry moment, aby sprawdzić, czy aplikacja jest zgodna z podstawowymi wskazówkami dotyczącymi jakości i sprawdzonymi metodami testowania.
Sprawdź i przetestuj użycie ograniczonych interfejsów innych niż SDK, które mogą mieć zastosowanie. Zwracaj uwagę na ostrzeżenia logcat, które wskazują na takie przypadki dostępu, 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ą zgodnie z oczekiwaniami na Androidzie 11 i są zgodne ze sprawdzonymi metodami dotyczącymi prywatności, wydajności, wygody użytkowników, przetwarzania danych i uprawnień. Jeśli znajdziesz problem, spróbuj zaktualizować pakiet SDK do najnowszej wersji lub skontaktuj się z deweloperem pakietu SDK, 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 uwzględnieniem zmian w zachowaniu. W przypadku aplikacji z możliwością debugowania przełączniki umożliwiają:
- Testuj zmiany ukierunkowane bez faktycznej zmiany wartości targetSdkVersion aplikacji. Możesz użyć przełączników, aby wymusić włączenie określonych zmian zachowania, i ocenić ich wpływ na dotychczasową aplikację.
- Skup się na testowaniu tylko konkretnych zmian. Zamiast wprowadzać wszystkie zmiany kierowania naraz, możesz za pomocą przełączników wyłączyć wszystkie zmiany kierowania oprócz tych, które chcesz przetestować.
- Zarządzanie przełącznikami za pomocą adb Możesz używać poleceń adb, aby włączać i wyłączać zmiany w automatycznym środowisku testowym.
- Szybsze debugowanie dzięki standardowym identyfikatorom zmian Każda zmiana, którą można przełączać, ma unikalny identyfikator i nazwę, których możesz użyć do szybkiego debugowania głównej przyczyny w danych wyjściowych logu.
Przełączniki mogą Ci pomóc, gdy przygotowujesz się do zmiany kierowania aplikacji lub aktywnie pracujesz nad obsługą Androida 11. Więcej informacji znajdziesz w odpowiedniej dokumentacji.