Czy potrzebny jest root?
Nie. Root nie jest ani potrzebny, ani używany: wystarczy raz wybrać Mock Location jako aplikację do pozorowania lokalizacji w opcjach programistycznych Androida.
Nie, i to nie kompromis, tylko właściwość samego mechanizmu. Android od początku obsługuje pozorowane lokalizacje na potrzeby programowania i testów: system pozwala jednej wybranej aplikacji zarejestrować testowych dostawców i zapisywać w nich współrzędne, a potem podaje te współrzędne każdemu, kto zwykłą drogą pyta o lokalizację.
Aplikacja nie ingeruje w inne procesy i nie podmienia bibliotek systemowych — korzysta z oficjalnie przewidzianej możliwości, którą sam włączyłeś w opcjach programistycznych. Dlatego nie potrzeba ani odblokowanego bootloadera, ani Magisk, ani Xposed.
Jedyne, co modyfikacja systemu zasadniczo dodaje, to możliwość ukrycia samego faktu symulacji: usunięcia flagi „źródło testowe”, po której aplikacje odróżniają podstawione współrzędne od prawdziwych. Całą resztę wbudowany mechanizm potrafi bez root.
Cena tej możliwości jest wysoka: tracisz gwarancję, część aplikacji bankowych i usług przestaje się uruchamiać z powodu kontroli integralności systemu, aktualizacje systemu przestają się normalnie instalować, a nieudane flashowanie może unieruchomić telefon. Mock Location działa ściśle w ramach wbudowanego mechanizmu i tej drogi nie wspiera.
Wniosek praktyczny: bez root symulacja jest uczciwie widoczna dla aplikacji, które chcą ją widzieć. Mapy, pogoda, wyszukiwanie w pobliżu, własne aplikacje w trakcie tworzenia i testów — działają. Usługi, dla których lokalizacja jest dowodem faktu (dostawy, ewidencja czasu pracy, nagrody za lokalizację), zwykle nie — i to ich świadomy wybór, a nie wada. Więcej w artykule o zmianie lokalizacji bez root i w pytaniu, dlaczego aplikacja widzi prawdziwe współrzędne.