without android android-studio android-emulator

without - ¿Cómo editar el archivo/etc/hosts en el emulador de Android Studio que se ejecuta en turrón?



android hosts file without root (7)

Aquí es cómo pude hacerlo trabajando en OSX. Después de leer un montón de instrucciones diferentes, nada parece funcionar para mí hasta que alguien mencione que tiene una ventana muy estrecha para copiar el archivo de su disco al dispositivo emulado o se vuelve de solo lectura.

  1. Arranca tu emulador.
  2. En su terminal encuentre la carpeta "platform-tools" para sus dispositivos.
  3. Prepare el archivo de hosts que desea copiar en su dispositivo (en mi caso, lo puse en el escritorio)
  4. Encadena un montón de comandos para copiar el archivo rápidamente. Esto es lo que funcionó para mí ./adb root && ./adb -s emulator-5554 remount && ./adb -s emulator-5554 push ~/Desktop/hosts /system/etc/hosts ''emulator-5554'' es el nombre de Mi dispositivo que puede encontrar escribiendo ./adb devices

Después de eso el terminal respondió con

restarting adbd as root remount succeeded [100%] /system/etc/hosts

usted puede muy bien la copia fue exitosa por ./adb shell y luego cat /system/etc/hosts

Entonces pude conectarme a mis hosts virtuales desde el dispositivo emulado

Solo para completar aquí es cómo se veía mi archivo de hosts como 10.0.2.2 my-virtual-host

Espero que esto ayude a alguien ya que dedico bastante tiempo tratando de resolver esto.

¿Alguien sabe cómo editar el archivo / etc / hosts dentro de un emulador de Android Studio que se ejecuta en turrón? Lo editaré para poder usar mi host virtual en mi servidor web local. Intenté editarlo a través del terminal usando adb, sin embargo, está devolviendo el sistema de archivos de solo lectura. Intenté también usando chmod pero todavía falla.

Actualización: También intenté extraer y empujar archivos usando adb $ ./adb -s emulator-5554 push ~ / Desktop / hosts / system / etc / hosts

adb: error: no se pudo copiar ''/ Users / Christian / Desktop / hosts'' a ''/ system / etc / hosts'': no ​​se pudo crear el archivo: sistema de archivos de solo lectura


Pruebe la respuesta @POW,

Asegúrese de tener una línea en blanco después de la última entrada del archivo hosts. Si usa pestañas en el archivo hosts, reemplácelas con espacios. Reinicie Android e intente nuevamente:

adb reboot


Pude editar el archivo / etc / hosts al iniciar el emulador con el sistema de escritura y al volver a montar el emulador utilizando adb remount. Después de eso, el archivo hosts dentro del emulador es editable. Intenté empujar / reemplazar el archivo y lo logré.


Puede usar el shell de ADB para editar el archivo cambiando el acceso (solo lectura a RW)


Siga los siguientes 3 pasos:

  1. Inicie el emulador en modo de escritura: ./emulator -avd <emulator_name> -writable-system
  2. remount: adb remount
  3. attached archivo hosts attached : adb push hosts /system/etc/

Nota :

  1. Ejecuta uno y solo un nombre de emulador con los pasos anteriores
  2. emulator ejecutable se encuentra dentro de Android-SDK. Para mi estaba bajo sdk/emulator .
  3. El archivo adjunto de hosts resolverá www.facebook.com a 127.0.0.1, por lo tanto, bloquea www.facebook.com en el emulador.

Paso a paso

  1. No cree el AVD con una imagen de Google Play.
  2. Utilice, por ejemplo, las API de Google Intel x86 Atom System Image .
  3. Inicia el emulador con el siguiente comando ...

    emulator.exe –avd <avd name> -writable-system

Por ejemplo:

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''

  1. Raíz y remonte el AVD como los siguientes ...

    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 #


1) android-sdk-macosx/tools/emulator -avd <avdname> -writable-system 2) ./adb root 3) ./adb remount 4) ./adb push <local>/hosts /etc/hosts

Host de archivos de Android puede ser

/etc/hosts <--- This worked for me /etc/system/hosts /system/etc/hosts

Comprobar

1) ./adb shell 2) cat /etc/hosts 3) ping customsite.com