Aplikacja WebView DevTools to narzędzie na urządzeniu, które służy do zarządzania i debugowania samego komponentu systemowego WebView. Jest on oddzielony od narzędzi deweloperskich w Chrome, które działają na komputerze deweloperskim i umożliwiają zdalne debugowanie aktywnych treści internetowych (HTML, CSS i JavaScript) działających w instancji WebView.
Narzędzia deweloperskie WebView to aplikacja towarzysząca, która jest automatycznie instalowana na urządzeniu wraz ze składnikiem systemowym WebView. Aplikacja jest podzielona na 4 obszary:
- Strona główna: wyświetlanie informacji o wersji i przełączanie domyślnego komponentu WebView na wersję z kanału przedpremierowego.
- Awarie: wyświetlanie i przesyłanie raportów o awariach komponentu WebView.
- Flagi: ustaw flagi dewelopera, aby zmienić działanie WebView.
- Dzienniki sieci: wyświetlanie i udostępnianie dzienników sieci niskiego poziomu komponentu WebView.
Uruchamianie Narzędzi deweloperskich WebView
Na urządzeniach z Androidem 16 lub nowszym, na których włączony jest tryb programisty, możesz uruchomić Narzędzia deweloperskie WebView, otwierając kolejno Ustawienia > System > Opcje programisty > Narzędzia deweloperskie WebView.
W przypadku wszystkich najnowszych wersji Androida możesz uruchomić Narzędzia deweloperskie WebView za pomocą polecenia adb:
adb shell am start -a "com.android.webview.SHOW_DEV_UI"
Jeśli zainstalujesz wersję przedpremierową WebView, np. beta, deweloperską lub Canary, możesz użyć ikony uruchamiania narzędzi deweloperskich WebView.
Przy pierwszym uruchomieniu Narzędzi deweloperskich WebView pojawi się prośba o przyznanie uprawnień do wysyłania powiadomień. Dzięki temu będziemy mogli wyświetlać stałe powiadomienie z listą włączonych przez Ciebie flag deweloperskich.
Przełączanie na kanał wersji przedpremierowej
Najnowsze funkcje i poprawki błędów WebView są najpierw udostępniane w kanałach wersji przedpremierowych. Możesz przetestować aplikację pod kątem tych zmian, przełączając dostawcę WebView na urządzeniu za pomocą Narzędzi deweloperskich WebView. Testowanie na kanałach przedpremierowych pomaga upewnić się, że aplikacja jest zgodna z nadchodzącymi wersjami WebView, zanim zostaną one udostępnione użytkownikom.
- Zainstaluj wersję beta, deweloperską lub Canary komponentu WebView w zależności od tego, czy wolisz stabilność czy dostęp do najnowszych zmian.
- Otwórz aplikację Narzędzia deweloperskie WebView i kliknij Zmień dostawcę.
- Jeśli nie widzisz tej opcji, kliknij trzy kropki w prawym górnym rogu i wybierz Zmień dostawcę WebView.
Więcej informacji znajdziesz w artykule Wypróbuj WebView w wersji beta, deweloperskiej lub Canary.
Kanały WebView
Kanały WebView są oparte na kanałach wersji Chrome. Każdy kanał reprezentuje inny poziom stabilności i aktualności kodu. Oto krótkie podsumowanie, kiedy należy używać poszczególnych kanałów WebView:
Canary: aktualizowana codziennie. Ten kanał zawiera najnowsze zmiany, w tym nowe funkcje i poprawki błędów, które są scalane z bazą kodu Chromium. Użyj tej opcji, jeśli chcesz sprawdzić, jak Twoja aplikacja internetowa działa w widoku WebView ze zmianą, która została niedawno scalona. Pamiętaj jednak, że ten kanał może być niestabilny lub zawierać błędy.
Deweloperski: aktualizowany 1–2 razy w tygodniu. Ten kanał jest bardziej stabilny niż Canary, ale nadal zawiera najnowsze zmiany. Jest to najlepsza opcja dla programistów, którzy chcą testować nowe funkcje, ale przy mniejszym ryzyku wystąpienia niezwiązanych z nimi błędów niż w przypadku wersji Canary.
Beta: aktualizowana mniej więcej co tydzień, a poważniejsze aktualizacje pojawiają się co 4 tygodnie. Umożliwia on przetestowanie funkcji z następnej wersji stabilnej WebView z wyprzedzeniem około 4–6 tygodni. Użyj tej opcji, aby przetestować aplikację internetową pod kątem zgodności z nadchodzącą wersją WebView.
Stabilna: aktualizowana co 4 tygodnie w przypadku głównych wersji, a co 2–3 tygodnie w przypadku niewielkich wersji, które zawierają pilne poprawki błędów. Jest to kanał produkcyjny WebView, który jest udostępniany wszystkim użytkownikom. Jest to najbardziej stabilny kanał, ponieważ został przetestowany na innych kanałach. Użyj tej opcji, jeśli chcesz przetestować aplikację internetową w widoku WebView tak, jak robi to obecnie większość użytkowników, np. aby odtworzyć zgłoszony przez nich błąd.
Interfejs awarii
Jeśli podczas tworzenia aplikacji wystąpią awarie komponentu WebView, możesz wyświetlić listę, przesłać i zgłosić błędy za pomocą Narzędzi deweloperskich WebView.
- Po awarii aplikacji uruchom ją ponownie, aby mieć pewność, że raport o awarii zostanie wygenerowany.
- Otwórz aplikację Narzędzia deweloperskie WebView i kliknij Awarie.
Więcej informacji znajdziesz w dokumentacji interfejsu awarii.
Interfejs flagi
Aplikacja WebView DevTools umożliwia ustawienie kilku przydatnych flag, które zmieniają działanie wszystkich komponentów WebView na urządzeniu. Większość flag jest używana tylko do tworzenia samego komponentu WebView, ale kilka z nich jest przydatnych dla deweloperów aplikacji na Androida.
highlight-all-webviews: identyfikuj komponenty WebView, dodając do nich żółty odcień.net-log: włącz rejestrowanie aktywności sieciowej komponentu WebView na niskim poziomie.webview-log-js-console-messages: wyświetlanie logów konsoli JavaScript w Logcat.
Więcej informacji znajdziesz w dokumentacji interfejsu Flag.
Dzienniki sieci
Jeśli nie możesz rozwiązać problemów z połączeniem z serwerem w WebView za pomocą Narzędzi deweloperskich w Chrome, użyj Narzędzi deweloperskich WebView, aby rejestrować dzienniki sieciowe niskiego poziomu.
- Włącz debugowanie WebView w kodzie aplikacji.
- W narzędziach deweloperskich WebView otwórz Flagi, znajdź
net-logi włącz tę opcję. Aby flaga zaczęła obowiązywać, uruchom ponownie aplikację. - Wykonaj działania, które wywołują zachowanie sieci, które chcesz debugować. Po odtworzeniu problemu zamknij aplikację.
- Otwórz sekcję Dzienniki sieci w Narzędziach deweloperskich WebView, aby znaleźć i udostępnić plik dziennika sieci.
- Możesz załadować plik dziennika JSON do przeglądarki dzienników sieciowych, narzędzia online do wizualizacji dzienników sieciowych, aby sprawdzić zdarzenia sieciowe niskiego poziomu, informacje o gnieździe i szczegóły dotyczące czasu.
Więcej informacji znajdziesz w artykule Debugowanie sieci w WebView.