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 od razu działa zgodnie z oczekiwaniami. W innych może być konieczne wprowadzenie w niej zmian, aby dostosować się do zmian na platformie.

Ponieważ użytkownicy mogą zacząć korzystać z nowej platformy, gdy tylko kod źródłowy zostanie udostępniony AOSP (Android Open Source Project), aplikacje muszą być gotowe, działać zgodnie z oczekiwaniami użytkowników i optymalnie korzystać z nowych funkcji i interfejsów API, aby w pełni wykorzystać możliwości nowej platformy.

Ten dokument zawiera ogólny wgląd w typowe fazy programowania i testowania. Dzięki temu łatwiej przygotujesz plan gotowości, który będzie zgodny z harmonogramem premiery platformy i zapewni użytkownikom wygodę korzystania z Androida 11.

Typowa migracja składa się z 2 faz, które mogą być równoczesne:

  • Zapewnienie zgodności aplikacji (do ostatniej wersji Androida 11).
  • kierowanie reklam na nowe funkcje platformy i interfejsy API (jak najszybciej po opublikowaniu ostatecznej wersji).

Na tej stronie opisujemy ogólne czynności dla każdego z tych etapów. Aby rozpocząć, przeczytaj artykuł Pobierz Androida 11.

Zapewnianie zgodności z Androidem 11

Warto przetestować działanie istniejącej aplikacji w porównaniu z Androidem 11, aby zapewnić komfort użytkowników po aktualizacji do najnowszej wersji Androida. Niektóre zmiany na platformie mogą wpłynąć na działanie aplikacji, dlatego tak ważne jest przetestowanie aplikacji jak najszybciej i dokładnie, a potem wprowadzić w niej niezbędne poprawki.

Zwykle możesz dostosować aplikację i opublikować aktualizację bez konieczności zmiany jej 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. Kolejne kroki znajdziesz w dalszej części tego artykułu.

Zanim zaczniesz, zapoznaj się ze zmianami w działaniu, które mogą wpłynąć na działanie aplikacji, nawet jeśli nie zmienisz targetSdkVersion.

Testy zgodności

Testowanie zgodności z Androidem 11 najczęściej przypomina te, które wykonujesz, przygotowując się do opublikowania aplikacji. To dobry moment na zapoznanie się z podstawowymi wskazówkami dotyczącymi jakości aplikacji i sprawdzonymi metodami testowania.

Wystarczy, że zainstalujesz aktualnie opublikowaną aplikację na urządzeniu z Androidem 11 i przeprowadzisz wszystkie procesy i funkcje pod kątem problemów. Aby skupić się na testowaniu, zapoznaj się ze zmianami w działaniu wprowadzonych 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 wprowadzone poprawki, aby dostosować je do nich.

Pamiętaj też, aby sprawdzić i przetestować użycie ograniczonych interfejsów innych niż SDK oraz przejść na publiczne ich odpowiedniki w pakiecie SDK lub NDK. Zwróć uwagę na ostrzeżenia logcat, które wyróżniają te przypadki dostępu, i użyj metody StrictMode detectNonSdkApiUsage(), aby je automatycznie wychwytywać.

Pamiętaj też, aby w pełni przetestować biblioteki i pakiety SDK w swojej aplikacji, aby mieć pewność, że działają one zgodnie z oczekiwaniami na Androidzie 11, oraz postępować zgodnie ze sprawdzonymi metodami dotyczącymi ochrony prywatności, wydajności, wygody użytkowania, obsługi danych i uprawnień. Jeśli napotkasz problem, spróbuj zaktualizować pakiet SDK do najnowszej wersji lub poproś o pomoc jego dewelopera.

Po zakończeniu testów i wprowadzeniu aktualizacji zalecamy jak najszybsze 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 zrobić to od razu, 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 ukierunkowane zmiany w działaniu mogą powodować problemy z funkcjonowaniem, którymi należy się zająć. Czasem mogą wymagać dużych nakładów pracy, więc warto się o nich dowiedzieć jak najwcześniej. Aby ułatwić ocenę wpływu, 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 zapewnić obsługę Androida 11.

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

Aby zacząć korzystać z pełnej obsługi Androida 11, najpierw pobierz pakiet SDK do Androida 11 (i wszelkie 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, rozpocznij testy, aby sprawdzić, czy aplikacja działa prawidłowo, gdy jest kierowana na ten system. Niektóre zmiany w działaniu mają zastosowanie tylko wtedy, gdy aplikacja jest kierowana na nową platformę, dlatego warto przejrzeć te zmiany, zanim zaczniesz.

Tak jak w przypadku podstawowego testowania zgodności, przejdź przez wszystkie przepływy i funkcje, szukając błędó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. To również dobry moment na sprawdzenie, czy aplikacja jest zgodna z podstawowymi wskazówkami dotyczącymi jakości aplikacji i sprawdzonymi metodami testowania.

Przejrzyj i przetestuj pod kątem ograniczonych interfejsów spoza SDK, które mogą mieć zastosowanie. Zwróć uwagę na ostrzeżenia logcat, które wyróżniają te przypadki dostępu, i użyj metody StrictMode detectNonSdkApiUsage() do ich automatycznego wychwytywania.

Pamiętaj też, aby w pełni przetestować biblioteki i pakiety SDK w swojej aplikacji, aby mieć pewność, że działają one zgodnie z oczekiwaniami na Androidzie 11, oraz postępować zgodnie ze sprawdzonymi metodami dotyczącymi ochrony prywatności, wydajności, wygody użytkowania, obsługi danych i uprawnień. Jeśli napotkasz problem, spróbuj zaktualizować pakiet SDK do najnowszej wersji lub poproś o pomoc jego dewelopera.

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

Android 11 wprowadza nową funkcję dla deweloperów, która ułatwia testowanie aplikacji przez ukierunkowane zmiany w działaniu. W przypadku aplikacji z możliwością debugowania możesz to zrobić za pomocą przełączników:

  • Przetestuj docelowe zmiany bez zmiany wartości targetSdkVersion w aplikacji. Za pomocą przełączników możesz wymusić włączenie określonych docelowych zmian działania i ocenić ich wpływ na istniejącą 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 Za pomocą poleceń adb możesz włączać i wyłączać przełączane zmiany w automatycznym środowisku testowym.
  • Szybsze debugowanie przy użyciu standardowych identyfikatorów zmian Każda z możliwością przełączania zmian ma unikalny identyfikator i nazwę, których możesz użyć do szybkiego debugowania głównej przyczyny w danych wyjściowych logu.

Podczas przygotowań do zmiany kierowania aplikacji lub w trakcie opracowywania obsługi Androida 11 użyj przełączników. Więcej informacji znajdziesz w odpowiedniej dokumentacji.