Quelqu'un sait comment éditer le fichier/etc/hosts dans un émulateur de studio Android fonctionnant dans le nougat? Je vais le modifier pour pouvoir utiliser mon hôte virtuel sur mon serveur Web local. J'ai essayé de le modifier via terminal en utilisant adb cependant, il retourne le système de fichiers en lecture seule. Essayé aussi en utilisant chmod mais ça échoue quand même.
Mise à jour: J'ai également essayé d'extraire et de transférer des fichiers avec adb $ ./Adb -s emulator-5554 Push ~/Bureau/hôtes/système/etc/hosts
adb: error: impossible de copier '/ Users/Christian/Desktop/hosts' vers '/ system/etc/hosts': impossible de créer le fichier: système de fichiers en lecture seule
J'ai pu modifier le fichier/etc/hosts en lançant l'émulateur avec -writable-system et en remontant l'émulateur à l'aide de adb remount. Après cela, le fichier hosts à l'intérieur de l'émulateur est éditable. J'ai essayé de pousser/remplacer le fichier et j'ai réussi.
1) Android-sdk-macosx/tools/emulator -avd <avdname> -writable-system
2) ./adb root
3) ./adb remount
4) ./adb Push <local>/hosts /etc/hosts
Fichier Android hôte peut être
/etc/hosts <--- This worked for me
/etc/system/hosts
/system/etc/hosts
Vérifier
1) ./adb Shell
2) cat /etc/hosts
3) ping customsite.com
Voici comment j'ai été capable de le faire fonctionner sous OSX. Après avoir lu un tas d'instructions différentes, rien ne semblait fonctionner pour moi jusqu'à ce que quelqu'un dise que vous avez une fenêtre très étroite pour copier le fichier de votre disque sur le périphérique émulé ou qu'il redevient en lecture seule.
./adb root && ./adb -s emulator-5554 remount && ./adb -s emulator-5554 Push ~/Desktop/hosts /system/etc/hosts
'émulateur-5554' est le nom de mon appareil que vous pouvez trouver en tapant ./adb devices
.après que le terminal a répondu avec
restarting adbd as root
remount succeeded
[100%] /system/etc/hosts
vous pouvez même vérifier que la copie a été réussie avec ./adb Shell
et ensuite cat /system/etc/hosts
J'ai ensuite pu me connecter à mes hôtes virtuels à partir du périphérique émulé
Pour être complet, voici à quoi ressemblait mon fichier hosts
10.0.2.2 my-virtual-Host
J'espère que cela aidera quelqu'un pendant que je passe du temps à essayer de comprendre cela.
Suivez les 3 étapes ci-dessous:
./emulator -avd <emulator_name> -writable-system
adb remount
adb Push hosts /system/etc/
Remarque :
emulator
est situé dans Android-sdk. Pour moi, c'était sous sdk/emulator
.www.facebook.com
à 127.0.0.1, bloquant ainsi www.facebook.com
sur l'émulateur.Pas à pas
Démarrez l'émulateur avec la commande suivante…
emulator.exe –avd <avd name> -writable-system
Par exemple:
C:\Users\ilyas.mamun\AppData\Local\Android\Sdk\emulator>emulator.exe -avd Pixel_API_25 -writable-system
emulator: WARNING: System image is writable
HAX is working and emulator runs in fast virt mode.
audio: Failed to create voice `goldfish_audio_in'
qemu-system-i386.exe: warning: opening audio input failed
audio: Failed to create voice `adc'
Racinez et remontez l’AVD comme suit…
C:\Users\ilyas.mamun\AppData\Local\Android\Sdk\platform-tools>adb root
C:\Users\ilyas.mamun\AppData\Local\Android\Sdk\platform-tools>adb remount
remount succeeded
C:\Users\ilyas.mamun\AppData\Local\Android\Sdk\platform-tools>adb Shell
eneric_x86:/ # cd system
generic_x86:/system # cd etc
generic_x86:/system/etc # cat hosts
127.0.0.1 localhost
::1 ip6-localhost
generic_x86:/system/etc # echo "192.168.1.120 ilyasmamun.blogspot.com" >> hosts
generic_x86:/system/etc # cat hosts
127.0.0.1 localhost
::1 ip6-localhost
192.168.1.120 ilyasmamun.blogspot.com
generic_x86:/system/etc #
Vous pouvez utiliser le shell ADB pour éditer le fichier en modifiant l'accès (lecture seule à RW)
Essayez @ P.O.W répondre,
Assurez-vous de laisser une ligne vide après la dernière entrée du fichier hosts Si vous utilisez des tabulations dans le fichier hosts, remplacez-les par des espaces Redémarrez Android et essayez à nouveau:
adb reboot