Migracja aplikacji na Androida 11

W każdej wersji Androida wprowadzamy nowe funkcje i zmiany w działaniu, aby zwiększyć użyteczność, bezpieczeństwo i wydajność Androida. W wielu przypadkach po wyjęciu z pudełka aplikacja będzie działać dokładnie tak, jak chcesz, a w innych trzeba będzie wprowadzić w niej zmiany, aby dostosować się do zmian na platformie.

Użytkownicy mogą zacząć otrzymywać dostęp do nowej platformy zaraz po opublikowaniu kodu źródłowego w projekcie AOSP (Android Open Source Project), dlatego ważne jest, aby aplikacje były gotowe do działania, działały zgodnie z oczekiwaniami i najlepiej wykorzystują 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. Pomaga on opracować plan gotowości zgodny z harmonogramem wprowadzania zmian na platformie i zapewniający użytkownikom doskonałe wrażenia podczas korzystania z Androida 11.

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

  • Zapewnianie zgodności aplikacji (w końcowej wersji Androida 11)
  • Kierowanie na nowe funkcje platformy i interfejsy API (jak najszybciej po ostatecznej wersji).

Na tej stronie przedstawiono ogólne instrukcje dotyczące poszczególnych etapów. Aby rozpocząć, przeczytaj artykuł Jak zacząć korzystać z Androida 11.

Zgodność z Androidem 11

Ważne jest przetestowanie funkcji istniejącej aplikacji w porównaniu z Androidem 11 w celu zapewnienia wygody użytkownikom, którzy przechodzą na najnowszą wersję Androida. Niektóre zmiany na platformie mogą wpływać na działanie aplikacji, dlatego ważne jest, by przeprowadzić testy wcześnie i gruntownie oraz w razie potrzeby wprowadzić w niej zmiany.

Zwykle możesz dostosować aplikację i opublikować aktualizację bez konieczności zmiany targetSdkVersion aplikacji. Nie trzeba też używać nowych interfejsów API ani zmieniać compileSdkVersion aplikacji, choć zależy to od sposobu jej utworzenia oraz funkcji platformy. W sekcjach poniżej znajdziesz opis poszczególnych kroków.

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 przebiega zwykle podobnie do tych, które wykonujesz, przygotowując się do opublikowania aplikacji. To dobry moment na zapoznanie się ze wskazówkami dotyczącymi jakości aplikacji i sprawdzonymi metodami testowania.

Wystarczy, że zainstalujesz na urządzeniu z Androidem 11 swoją opublikowaną aplikację i przeanalizujesz wszystkie jej procesy i funkcje, aby znaleźć problemy. Aby skupić się na testowaniu, 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 wprowadzone poprawki.

Pamiętaj też, aby sprawdzić i przetestować użycie interfejsów spoza pakietu SDK, które są objęte ograniczeniami, i przejść na publiczne odpowiedniki pakietu SDK lub pakietu NDK. Szukaj ostrzeżeń logcat, które wyróżniają te uprawnienia dostępu, i używaj metody StrictMode detectNonSdkApiUsage() do ich automatycznego wychwytywania.

Na koniec dokładnie przetestuj biblioteki i pakiety SDK w swojej aplikacji, aby mieć pewność, że działają one zgodnie z oczekiwaniami na Androidzie 11 i są zgodne ze sprawdzonymi metodami dotyczącymi prywatności, wydajności, wygody użytkowania, obsługi danych i uprawnień. Jeśli znajdziesz problem, zaktualizuj pakiet SDK do najnowszej wersji lub poproś o pomoc dewelopera pakietu.

Po zakończeniu testowania i wprowadzeniu zmian zalecamy jak najszybsze opublikowanie zgodnej aplikacji. Dzięki temu użytkownicy będą mogli wcześnie przetestować aplikację i zapewnić im płynne przejście podczas aktualizacji na Androida 11.

Zaktualizować kierowanie aplikacji i użyć nowych interfejsów API

Gdy opublikujesz zgodną wersję aplikacji w sposób opisany powyżej, możesz dodać do niej pełną obsługę Androida 11. W tym celu zaktualizuj targetSdkVersion oraz wykorzystaj nowe interfejsy API i możliwości Androida 11. Możesz to zrobić od razu, pamiętając o wymaganiach Google Play związanych z kierowaniem na nową platformę.

Planując prace nad pełną obsługą Androida 11, warto zacząć od przeglądu zmian w działaniu, które dotyczą aplikacji kierowanych na Androida 11. Te kierowane zmiany działania mogą powodować problemy z działaniem, które mogą wymagać rozwiązania. Czasem mogą wymagać znacznych rozwoju, więc warto o nich dowiedzieć się jak najwięcej. Aby łatwiej ocenić wpływ tej zmiany, możesz też użyć przełączników zgodności, aby przetestować bieżącą aplikację z włączonymi wybranymi zmianami.

Aby dowiedzieć się, jak w pełni obsługiwać Androida 11, wykonaj opisane poniżej czynności.

Pobierz pakiet SDK, zmień kierowanie i twórz nowe interfejsy API

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

Testowanie aplikacji na Androida 11

Gdy skompilujesz aplikację i zainstalujesz ją na urządzeniu z Androidem 11, rozpocznij testy, aby mieć pewność, że działa ona prawidłowo podczas kierowania na ten system. Niektóre zmiany w działaniu mają zastosowanie tylko wtedy, gdy aplikacja jest kierowana na nową platformę, więc zanim zaczniesz z niej korzystać, przejrzyj te zmiany.

Tak jak w przypadku podstawowych testów zgodności, przechodź przez wszystkie procesy i funkcje w poszukiwaniu problemów. Skup się na testowaniu zmian w działaniu aplikacji kierowanych na Androida 11. W szczególności zapoznaj się ze zmianami dotyczącymi prywatności i przetestuj wprowadzone poprawki. To również dobry moment na sprawdzenie, czy aplikacja jest zgodna z podstawowymi wskazówkami dotyczącymi jakości aplikacji i sprawdzonymi metodami dotyczącymi testowania.

Pamiętaj, aby sprawdzić i przetestować, czy nie występują interfejsy inne niż SDK z ograniczeniami, które mogą mieć zastosowanie. Poszukaj ostrzeżeń logcat, które wyróżniają te uprawnienia dostępu, i użyj metody StrictMode detectNonSdkApiUsage(), aby je automatycznie wychwytywać.

Na koniec dokładnie przetestuj biblioteki i pakiety SDK w swojej aplikacji, aby mieć pewność, że działają one zgodnie z oczekiwaniami na Androidzie 11 i są zgodne ze sprawdzonymi metodami dotyczącymi prywatności, wydajności, wygody użytkowania, obsługi danych i uprawnień. Jeśli znajdziesz problem, zaktualizuj pakiet SDK do najnowszej wersji lub poproś o pomoc dewelopera pakietu.

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 kierowanych zmian w działaniu. W przypadku aplikacji z możliwością debugowania przełączniki pozwalają:

  • Przetestuj docelowe zmiany bez zmiany wartości targetSdkVersion. Możesz użyć przełączników, aby wymusić włączenie określonych kierowanych zmian działania w celu oceny ich wpływu na istniejącą aplikację.
  • Skup się na testowaniu tylko określonych zmian. Zamiast zajmować się wszystkimi zmianami w kierowaniu naraz, przełączniki pozwalają wyłączyć wszystkie kierowane zmiany z wyjątkiem tych, które chcesz przetestować.
  • Przełączami można zarządzać za pomocą narzędzia 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 przy użyciu standardowych identyfikatorów zmian. Każda zmiana, którą można przełączyć, ma unikalny identyfikator i nazwę, dzięki którym można szybko debugować główną przyczynę w danych wyjściowych.

Przełączniki mogą Ci pomóc, gdy przygotowujesz się do zmiany kierowania aplikacji lub jesteś w trakcie opracowywania obsługi Androida 11. Więcej informacji znajdziesz w odpowiedniej dokumentacji.