Comment éditer le fichier 'etc / hosts' sur un téléphone non rooté?

14

J'utilise LineageOS 14.1 et je ne veux ni n'ai besoin de le rooter. Comment puis-je remonter /systemrw et éditer /system/etc/hosts?

Toutes les réponses dans " Comment modifier le fichier 'etc / hosts'? " Attendent un téléphone rooté.

berbt
la source

Réponses:

9

Sauf si j'ai raté quelque chose, ce n'est pas possible. Sans accès root, seul le mécanisme de flashage d'une mise à jour (via récupération ou OTA) peut être modifié /system. Pour être acceptée, une telle archive de mise à jour doit être signée avec la même clé que la ROM - ce que le développeur de la ROM (ici: l'équipe LOS) peut faire.

Il pourrait y avoir un moyen via une récupération personnalisée qui vous permet de modifier tous les systèmes de fichiers directement (voir par exemple ). Mais sans savoir de quel appareil il s'agit, on ne peut pas dire s'il existe une récupération correspondante (vous pouvez vérifier cela dans la section Appareils de leur site Web pour les images officielles et rechercher dans XDA des images non officielles ). En dehors de cela, c'est l'appareil ou en n'éditant aucun fichier /system.

Izzy
la source
Merci. twrpressemble à une très bonne solution. Il a tout le nécessaire pour de petites modifications manuelles ou des hostsremplacements complets . Je courais la dernière écurie qui est livré avec BusyBox: vi, cat, chmodet chownsont là.
berbt
1
De plus, vous n'avez pas à l'installer - vous pouvez simplement démarrer l'image ( fastboot boot twrp.img). Ce qui laisse le déverrouillage du chargeur de démarrage comme la seule modification de périphérique (à côté de celui que vous voulez juste effectuer, bien sûr;)
Izzy
5

Il est possible d'utiliser un profil VPN * pour affecter la résolution du nom d'hôte. Il existe un certain nombre d'applications disponibles sur le Play Store qui offrent un moyen pratique de le faire, telles que Hosts Go . Notez que, puisque cette technique nécessite l'utilisation d'un profil VPN, vous ne pourrez pas utiliser un VPN réel en conjonction avec cette technique.


* À partir d'Android 4.0 (API niveau 14) - https://developer.android.com/guide/topics/connectivity/vpn

Jivan Pal
la source
1
L'application Hosts Go fonctionne pour ajouter quelques entrées d'hôtes. La documentation pourrait cependant être bien meilleure. Vous pouvez dire que l'auteur n'est pas un anglophone natif. En bref, vous devez: exécuter l'application, ajouter des entrées d'hôtes supplémentaires, activer "commutateur de changement d'hôte", puis cliquer sur le gros bouton de démarrage. Cela démarre la résolution du nom d'hôte. Vous devriez pouvoir utiliser ces hôtes dans Chrome maintenant, par exemple. Le bouton d'arrêt vous ramène à la résultante normale du nom d'hôte
Gary
2

Sur un téléphone non rooté, vous ne pouvez pas réellement modifier le hostsfichier, mais il est possible d'utiliser des applications VPN comme des hôtes virtuels ou un filtre DNS personnel (les deux sont open-source, je n'ai aucune affiliation avec l'un ou l'autre) qui interceptent le trafic DNS et recherchent un hostsfichier personnalisé avant faire des requêtes au serveur DNS en amont configuré.

Ou si le chargeur de démarrage est déverrouillable, la modification du hostsfichier est possible via une récupération personnalisée.

Pour plus d'alternatives, voir: Comment toujours résoudre un nom de domaine en IP fixe sans enracinement?

Irfan Latif
la source
-3

Avertissement: cela ne fonctionnera que si ADB peut obtenir un accès root, ce qui n'est pas le cas pour la plupart des ROM. Il fonctionne dans LineageOS 14.1.

Exigences:

  • Developer options activé dans le téléphone
  • adb installé dans l'ordinateur

Pas

Appliquez les paramètres suivants dans Developer options:

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

Connectez le téléphone à l'ordinateur. Accordez l'autorisation sur votre téléphone si cela vous est demandé. Dans l'ordinateur, lancez un terminal et exécutez

$ adb root

Accordez l'autorisation sur votre téléphone. Remonter avec

$ adb remount

Démarrer un shell rooté distant

$ adb shell

Dans le shell adb, éditez votre fichier hosts

# nano /etc/hosts

Lorsque vous êtes prêt, déconnectez-vous

# exit
berbt
la source
3
Hein? La racine LOS n'est disponible que si vous flashez le paquet racine supplémentaire, ce que OP ne veut pas (c'est-à-dire que "Accès root = ADB uniquement" ne peut pas être obtenu). Alors, comment vos étapes devraient-elles fonctionner sans root si elles nécessitent root? Pourriez-vous clarifier?
Izzy
adbd ne peut pas s'exécuter en tant que root dans la génération de production.
iBug
Aussi, comment pouvez-vous l'obtenir nano? catc'est tout ce que vous avez. Android n'est même pas livré avec une base vi.
iBug
@Izzy vient d'emprunter un téléphone avec Android d'origine pour confirmer et oui, cela semble être une chose LOS. Je n'ai pas flashé le paquet racine. Je vais modifier ma réponse et le titre de la question pour refléter ce fait.
berbt
@iBug même que mon commentaire précédent: très probablement une chose LOS. nanoest dedans /system/xbin/nano. vim--version(en /system/xbin/trop, pas d' vialias) dit qu'il était "Compilé par tpruvot @ CyanogenMod".
berbt