Akcja ratunkowa

Wielu użytkowników w dużym stopniu polega na telefonach i potrzebuje w ogóle działającego urządzenia obecnie się znajdujesz. Jednak czasami urządzenia uruchamiają się w pętli ponownego uruchamiania, co powoduje, że użytkownicy przesłać zgłoszenia do zespołu pomocy lub pytania gwarancyjne. Ten proces jest frustrujący dla: użytkowników i kosztowne rozwiązanie w przypadku producentów i operatorów urządzeń.

Android 8.0 ma funkcję, która wysyła „aport ratunkowy” kiedy wykryje że podstawowe komponenty systemu utknęły w pętli awarii. Następnie przekazuje zespołowi ratunek seria czynności, które mają na celu przywrócenie urządzenia. W ostateczności można skorzystać z Razy ratunkowej. uruchamia ponownie urządzenie w trybie przywracania i wyświetla użytkownikowi prośbę o przeprowadzenie ustawień fabrycznych. .

Android nie wymaga tych funkcji ratunkowych dokumentu z definicją zgodności, ale nadal może być przydatny do zmniejszenia liczby zgłoszeń do zespołu pomocy.

Implementacja

która jest domyślnie włączona na Androidzie 8.0, a implementacja działa w /services/core/java/com/android/server/RescueParty.java Zespół ratunkowy otrzymuje informacje o zdarzeniach uruchomienia i awarii oraz uruchamia się, jeśli:

  • Serwer system_server uruchamia się ponownie więcej niż 5 razy w ciągu 5 minut.
  • Trwała aplikacja systemowa ulega awarii więcej niż 5 razy w ciągu 30 sekund.

W przypadku wykrycia jednej z tych sytuacji zespół ratownika przekazuje sprawę do następnej, na ratowanym poziomie, przetwarza zadanie powiązane z tym poziomem i umożliwia urządzeniu sprawdź, czy uda się rozwiązać problem. Każdy poziom jest coraz bardziej agresywny w czy dane zostaną wyczyszczone lub zresetowane. Na ostatnim poziomie użytkownik musi przywrócić ustawienia fabryczne urządzenia.

Wesprzyj Akcję ratunkową nie wymaga żadnej specjalistycznej pomocy technicznej. Jeśli funkcja jest zaimplementowany, system odzyskiwania urządzenia musi reagować na Polecenie --prompt_and_wipe_data i urządzenia muszą umożliwiają użytkownikom potwierdzanie zniszczenia ich danych przed dalej. System odzyskiwania powinien również umożliwiać użytkownikowi próba ponownego uruchomienia urządzenia.

Ponieważ każdy poziom ratunkowy może dodać się do 5 minut zanim urządzenie zacznie działać. Znowu producenci urządzeń nie powinni dodawać niestandardowych poziomów ratunkowych. Wydłużony czas z niedziałającym urządzeniem zwiększa prawdopodobieństwo, że użytkownik zainicjuje pomoc lub gwarancjach, a nie samodzielne odzyskiwanie urządzenia.

Weryfikacja

Wszystkie zdarzenia ratunkowe są wyłączane, gdy na urządzeniu są aktywne dane USB bo jest to silny sygnał, że ktoś debuguje urządzenie.

Aby zastąpić to wykluczenie, uruchom polecenie:

adb shell setprop persist.sys.enable_rescue 1

Następnie możesz aktywować pętlę awarii systemu lub interfejsu użytkownika.

Aby aktywować pętlę awarii niższego poziomu w usłudze system_server, uruchom polecenie:

adb shell setprop debug.crash_system 1

Aby uruchomić pętlę awarii systemu SystemUI na średnim poziomie, uruchom polecenie:

adb shell setprop debug.crash_sysui 1

Obie pętle awarii uruchamiają logikę ratunkową. Wszystkie działania ratunkowe są również zapisane w trwałych logach PackageManagera przechowywanych w /data/system/uiderrors.txt do późniejszego sprawdzenia i debugowania. Te stałe logi są też zawarte w każdym raporcie o błędach w sekcji „Pakiet „Komunikaty ostrzegawcze” .