Jak edytować plik „etc / hosts” w telefonie niezrootowanym?

14

Używam LineageOS 14.1 i nie chcę ani nie muszę rootować. Jak mogę ponownie zamontować /systemrw i edytować /system/etc/hosts?

Wszystkie odpowiedzi w „ Jak edytować plik„ etc / hosts ”? ” Oczekują zrootowanego telefonu.

berbt
źródło

Odpowiedzi:

9

Chyba że coś przeoczyłem, nie jest to możliwe. Bez dostępu użytkownika root tylko mechanizm flashowania aktualizacji (poprzez odzyskiwanie lub OTA) może modyfikować /system. Aby zostać zaakceptowanym, takie archiwum aktualizacji musi być podpisane tym samym kluczem co ROM - co może zrobić tylko twórca ROM (tutaj: zespół LOS).

Nie może być sposobem za pomocą niestandardowych odzysku, które pozwala edytować wszystkie systemy plików bezpośrednio (patrz np ). Ale nie wiedząc, jakie to urządzenie, nie można powiedzieć, czy istnieje pasujące odzyskiwanie (możesz to sprawdzić w sekcji Urządzenia na ich stronie internetowej, aby znaleźć oficjalne obrazy i wyszukać XDA w poszukiwaniu nieoficjalnych ). Poza tym albo urządzenie, albo nie edytuje żadnego pliku /system.

Izzy
źródło
Dzięki. twrpwygląda na bardzo dobre rozwiązanie. Ma wszystko, czego potrzeba do drobnych ręcznych zmian lub pełnych hostswymian. Używam najnowszej stabilnej którym statki z BusyBox: vi, cat, chmodi chownsą tam.
berbt
1
Co więcej, nie musisz go instalować - wystarczy uruchomić obraz ( fastboot boot twrp.img). Który pozostawia odblokowanie bootloadera jako jedynej modyfikacji urządzenia (oczywiście oprócz tej, którą po prostu chcesz wykonać;)
Izzy
5

Możliwe jest użycie profilu VPN *, aby wpłynąć na rozpoznawanie nazw hostów. W Sklepie Play dostępnych jest teraz wiele aplikacji, które zapewniają wygodny sposób, na przykład Hosts Go . Pamiętaj, że ponieważ ta technika wymaga użycia profilu VPN, nie będziesz w stanie korzystać z rzeczywistej sieci VPN w połączeniu z tą techniką.


* Począwszy od Androida 4.0 (API Level 14) - https://developer.android.com/guide/topics/connectivity/vpn

Jivan Pal
źródło
1
Aplikacja Hosts Go działa, aby dodać kilka wpisów hostów. Dokumentacja może być jednak znacznie lepsza. Możesz powiedzieć, że autor nie jest rodzimym językiem angielskim. Krótko mówiąc: musisz: uruchomić aplikację, dodać dodatkowe wpisy hostów, włączyć „przełącznik zmiany hosta”, a następnie kliknąć duży przycisk Start. To rozpoczyna rozpoznawanie nazw hostów. Na przykład powinieneś być teraz w stanie używać tych hostów w chrome. Przycisk stop przeniesie Cię z powrotem do normalnej nazwy hosta
Gary
2

Na telefonie niezrootowanym nie można tak naprawdę edytować hostspliku, ale można korzystać z aplikacji VPN, takich jak wirtualne hosty lub osobisty filtr DNS (oba są typu open source, nie mam żadnego powiązania z żadnym z nich), które przechwytują ruch DNS i wyszukują niestandardowy hostsplik przed wysyłanie zapytań do skonfigurowanego serwera DNS.

Lub jeśli bootloader można odblokować, edycja hostspliku jest możliwa poprzez niestandardowe odzyskiwanie.

Aby uzyskać więcej alternatyw, zobacz: Jak zawsze rozwiązać nazwę domeny na stały adres IP bez rootowania?

Irfan Latif
źródło
-3

Ostrzeżenie: zadziała to tylko wtedy, gdy ADB może uzyskać dostęp do roota, co nie ma miejsca w przypadku większości ROM. Działa w LineageOS 14.1.

Wymagania:

  • Developer options włączony w telefonie
  • adb zainstalowany w komputerze

Kroki

Zastosuj następujące ustawienia w Developer options:

  • Root access -> ADB only
  • Android debugging -> włączone

Podłącz telefon do komputera. Jeśli zostaniesz o to poproszony, udziel pozwolenia w telefonie. Na komputerze uruchom terminal i uruchom

$ adb root

Udziel pozwolenia w swoim telefonie. Zamontuj ponownie za pomocą

$ adb remount

Uruchom zdalnie zrootowaną powłokę

$ adb shell

W powłoce adb edytuj plik hosts

# nano /etc/hosts

Po zakończeniu odłącz

# exit
berbt
źródło
3
Co? W systemie LOS root jest dostępny tylko wtedy, gdy sflashujesz dodatkowy pakiet root, którego OP nie chce (tzn. Nie można uzyskać „dostępu do katalogu głównego = tylko ADB”). Jak więc powinny działać Twoje kroki bez rootowania, jeśli wymagają rootowania? Czy mógłbyś wyjaśnić?
Izzy
adbd nie może działać jako root w kompilacji produkcyjnej.
iBug
Jak możesz zdobyć nano? catto wszystko, co masz. Android nie jest nawet dostarczany z podstawowym vi.
iBug
@Izyzy właśnie pożyczył telefon z Androidem, żeby to potwierdzić i tak, wydaje się, że to LOS. Nie flashowałem pakietu root. Zmodyfikuję swoją odpowiedź i tytuł pytania, aby odzwierciedlić ten fakt.
berbt
@ iBug taki sam jak mój poprzedni komentarz: najprawdopodobniej rzecz LOS. nanojest w /system/xbin/nano. vim--version(w tym /system/xbin/też nie ma vialiasu) mówi, że został „skompilowany przez tpruvot @ CyanogenMod”.
berbt