Comment éditer le fichier 'etc / hosts'?

39

J'utilise Nexus 5 sur Android 4.4. Kitkat. Je souhaite modifier le /etc/hostsfichier et ajouter des mappages de redirection afin de bloquer quelques annonces.

J'ai besoin de savoir comment accéder / modifier / remplacer un /etc/hostsfichier.


J'ai déjà vérifié ci-dessous une Q / A similaire:

Tilak
la source
1
Si vous essayez de faire du développement Web, vous n'aurez peut-être pas besoin de modifier le fichier / etc / hosts, vous pouvez utiliser le débogage à distance avec Chrome .
Flimm

Réponses:

43

Ceci est en fait une compilation de réponses et de ma propre expérience.

Donc, obtenez / installez une copie de ADB, puis tapez

adb devices -l # make sure your gadget is listed
adb shell # run a shell there
su # become the root (don't miss confirmation request!)
mount -o rw,remount /system # allow to write
vi /system/etc/hosts ## edit the file in place - do what you whant, then <ESC>:wq ##
mount -o ro,remount /system # get things back to normal
exit # unroot
nslookup YourBlockedAdSite.Net # check if it works
exit # good bye

Vous avez terminé.

  • Les choses suivantes #sont des commentaires et peuvent être omises de votre entrée. Si vous les coupez et ne les collez pas, cela devrait également être assez sûr.
  • Il est supposé que vous avez un accès root sur votre appareil (ou sune fonctionnera pas). En fait, vous ne pourrez pas éditer le fichier si vous n’avez pas de root de toute façon.
  • Il est supposé que vous avez une busybox installée (sinon vous risquez de manquer des choses comme viet nslookup). Eh bien, vous pouvez toujours essayer de jouer avec adb pull/ adb pushalors.
  • Il est assez fréquent que cela adb remountne fonctionne pas et il s’agit d’une solution de contournement.

    • Remarque: lorsque vous exécutez sule shell, il peut vous être demandé de confirmer votre gadget !
jno
la source
6
Cela fonctionne-t-il si le périphérique n'a pas encore été rooté?
itslittlejohn
2
ni su ni les commandes vi ne sont pas présentes dans mon cas: S6 edge
albanx
2
Bien sûr, le téléphone doit d'abord être enraciné (tout Linux doit être "enraciné" pour pouvoir éditer des fichiers /etc). Je recommanderais l' application SuperSU by Chainfire et sa busybox - elle vous donnera les deux suet vi. La question "Comment rooter mon téléphone" est hors de portée ici.
Jno
1
Un bon vieux écho me sauve: echo "1.2.3.4 domain.tld" >> / system / etc / hosts
Oleg Neumyvakin
echo est bon seulement si vous devez ajouter une ligne. ou pour remplacer le fichier entier. en cas de modification plus avancée, vous devrez utiliser l'outil vi / sed / awk / you-name-it.
Jno
16

Remarque: Afin de modifier le fichier hosts, votre appareil doit être enraciné

Vous pouvez modifier le fichier etc / hosts à l'aide de l' explorateur de fichiers ES ou de tout explorateur de fichiers avec accès root.

OU

Vérifiez cette méthode

Akhil
la source
0

Root nécessaire

Utilisez l' application FTPServer pour explorer des fichiers via PC / Mac. Copiez-le, /system/etc/hostséditez-le sur votre PC, copiez et collez le hostsfichier dans le même dictionnaire que votre téléphone.


la source
Comment voulez-vous copier le fichier à cet emplacement sur Android?
Musa Haidari