Wie bearbeite ich die Datei 'etc / hosts' in einem Telefon ohne Rootberechtigung?

14

Ich verwende LineageOS 14.1 und möchte und muss es nicht rooten. Wie kann ich rw erneut /systemeinbinden und bearbeiten /system/etc/hosts?

Alle Antworten in " Wie bearbeite ich die Datei 'etc / hosts'? " Erwarten ein gerootetes Telefon.

berbt
quelle

Antworten:

9

Wenn ich nichts verpasst habe, ist das nicht möglich. Ohne Root-Zugriff kann nur der Mechanismus zum Flashen eines Updates (über Wiederherstellung oder OTA) geändert werden /system. Um akzeptiert zu werden, muss ein solches Update-Archiv mit demselben Schlüssel wie das ROM signiert sein - was nur der Entwickler des ROM (hier: das LOS-Team) tun kann.

Es könnte eine Möglichkeit , über eine benutzerdefinierte Wiederherstellung sein , die Sie alle Dateisysteme bearbeiten kann direkt (siehe zB ). Ohne zu wissen, um welches Gerät es sich handelt, kann jedoch nicht gesagt werden, ob eine übereinstimmende Wiederherstellung vorliegt (Sie können dies im Abschnitt Geräte auf der Website nach offiziellen Bildern überprüfen und XDA nach inoffiziellen Bildern durchsuchen ). Abgesehen davon wird entweder das Gerät oder es wird keine Datei darin bearbeitet /system.

Izzy
quelle
Vielen Dank. twrpsieht nach einer sehr guten Lösung aus. Es hat alles, was für kleine manuelle Änderungen oder vollständigen hostsAustausch benötigt wird. Ich betreibe den neuesten Stall, der mit BusyBox: ,, ausgeliefert viwird cat, chmodund bin chownda.
Berbt
1
Außerdem müssen Sie es nicht installieren - Sie können das Image einfach starten ( fastboot boot twrp.img). Damit bleibt der Bootloader als einzige Gerätemodifikation entsperrt (abgesehen von der, die Sie gerade ausführen möchten;)
Izzy
4

Es ist möglich, ein VPN-Profil * zu verwenden, um die Auflösung des Hostnamens zu beeinflussen. Es gibt jetzt eine Reihe von Apps im Play Store, die eine bequeme Möglichkeit bieten, dies zu tun, wie z. B. Hosts Go . Da für diese Technik die Verwendung eines VPN-Profils erforderlich ist, können Sie in Verbindung mit dieser Technik kein tatsächliches VPN verwenden.


* Ab Android 4.0 (API Level 14) - https://developer.android.com/guide/topics/connectivity/vpn

Jivan Pal
quelle
1
Die Hosts Go-App fügt einige Host-Einträge hinzu. Die Dokumentation könnte jedoch viel besser sein. Sie können feststellen, dass der Autor kein englischer Muttersprachler ist. Kurz gesagt, Sie müssen: die App ausführen, zusätzliche Hosteinträge hinzufügen, "Hostwechselschalter" aktivieren und dann auf die große Startschaltfläche klicken. Damit wird die Auflösung des Hostnamens gestartet. Sie sollten diese Hosts beispielsweise jetzt in Chrome verwenden können. Die Stopp-Taste bringt Sie zurück zum normalen Ergebnis des Hostnamens
Gary
2

Auf einem Telefon ohne Rootberechtigung können Sie keine hostsDateien bearbeiten. Es ist jedoch möglich, VPN-Apps wie Virtual Hosts oder Personal DNS Filter (beide sind Open Source- Apps , mit denen ich auch nicht verbunden bin) zu verwenden, die den DNS-Verkehr abfangen und zuvor eine benutzerdefinierte hostsDatei nachschlagen Abfragen an den konfigurierten Upstream-DNS-Server.

Wenn der Bootloader entsperrbar ist, kann die hostsDatei durch benutzerdefinierte Wiederherstellung bearbeitet werden.

Weitere Alternativen finden Sie unter: Wie kann ein Domainname immer in eine feste IP aufgelöst werden, ohne zu rooten?

Irfan Latif
quelle
-3

Warnung: Dies funktioniert nur, wenn ADB Root-Zugriff erhalten kann, was bei den meisten ROMs nicht der Fall ist. Es funktioniert in LineageOS 14.1.

Bedarf:

  • Developer options im Telefon aktiviert
  • adb im Computer installiert

Schritte

Wenden Sie die folgenden Einstellungen an in Developer options:

  • Root access -> ADB only
  • Android debugging -> weiter

Schließen Sie das Telefon an den Computer an. Erteilen Sie die Erlaubnis in Ihrem Telefon, wenn Sie dazu aufgefordert werden. Starten Sie auf dem Computer ein Terminal und führen Sie es aus

$ adb root

Erteilen Sie die Erlaubnis in Ihrem Telefon. Remount mit

$ adb remount

Starten Sie eine Remote-Root-Shell

$ adb shell

Bearbeiten Sie in der ADB-Shell Ihre Hosts-Datei

# nano /etc/hosts

Wenn Sie fertig sind, trennen Sie die Verbindung

# exit
berbt
quelle
3
Huh? Unter LOS ist root nur verfügbar, wenn Sie das zusätzliche Root-Paket flashen, das OP nicht möchte (dh "Root-Zugriff = nur ADB" kann nicht erreicht werden). Wie sollten Ihre Schritte ohne root funktionieren, wenn sie root benötigen? Kannst du das bitte klären?
Izzy
adbd kann im Produktionsbuild nicht als Root ausgeführt werden.
iBug
Wie können Sie auch bekommen nano? catist alles was du hast. Android wird nicht einmal mit einem Basic ausgeliefert vi.
iBug
@Izzy hat sich gerade ein Telefon mit Standard-Android ausgeliehen, um dies zu bestätigen, und ja, es scheint eine LOS-Sache zu sein. Ich habe das Root-Paket nicht geflasht. Ich werde meine Antwort und den Fragentitel ändern, um diese Tatsache widerzuspiegeln.
Berbt
@ iBug wie mein vorheriger Kommentar: höchstwahrscheinlich eine LOS-Sache. nanoist in /system/xbin/nano. vim--version( /system/xbin/auch kein viAlias) sagt, es sei "Compiled by tpruvot @ CyanogenMod".
Berbt