que acaba de editar mi archivo de hosts en mi arraigada Samsung Galaxy S, y el los cambios tomaron efecto inmediatamente. Quizás el problema que está viendo es algo relacionado con ADB?
Hice esto:
- Usando Busybox, copiar el archivo hosts en una ubicación editable con
cp /etc/hosts /mnt/sdcard/hosts.new
;
- Edite
/mnt/sdcard/hosts.new
usando el editor de texto preinstalado, agregando las dos entradas que necesito.Utilicé IP, luego nombre de host no calificado, luego FQDN, por ejemplo 192.168.2.81 siva siva.myinventeddomain.org.au
, pero otros formatos deberían funcionar también en teoría;
- En BusyBox otra vez,
su
a la raíz;
/system
es ro por defecto, así que tuve que hacerlo rw con mount -o remount,rw /system
;
- Para guardar la escritura más tarde,
cd /etc
(con lo cual el intérprete de comandos del shell mostró /system/etc
en lugar de /etc
, lo que me hace sospechar shenanigans de symlink);
- Realice una copia de seguridad del archivo de hosts predeterminado (que solo contenía
127.0.0.1 localhost
) con mv hosts hosts.old
;
- Instale el nuevo archivo de hosts con
mv /mnt/sdcard/hosts.new hosts
;
- Ejecutar
sync
(simplemente porque soy paranoico, esto no debería ser necesario);
- Remontar
/system
fs ro con mount -o remount,ro /system
;
- Salir de BusyBox;
- Descargó el navegador web (FireFox) e ingresó
siva
en el campo combinado URL/campo de búsqueda (siva
siendo una de las dos entradas de host que agregué).
Antes de estos cambios, el paso 11 daba como resultado una estúpida búsqueda en Google de 'siva' o algo así; Inmediatamente después de ellos, obtengo la página principal de mi LAN httpd vhost, como espero.
Hubo menos de 10 minutos transcurridos entre que funcionó y no funcionaba.
El enlace al doco Java de Sun puede o no ser relevante (probablemente no lo sea). Android no contiene una VM de Java en absoluto, y menos la de Sun. Funciona una máquina virtual diferente llamada Dalvik - vea la entrada de Wikipedia: http://en.wikipedia.org/wiki/Dalvik_%28software%29
El hecho de que usted puede programar teléfonos Android en un lenguaje que se parece mucho a Java no viene al caso.
No he intentado esperar 10 minutos, pero sí veo que mis cambios no son efectivos inmediatamente (cuando se actualizan a través de 'adb pull/etc/hosts', edición local,' adb push hosts/etc/hosts'). ¡Buscando ayuda similar sobre este tema! –
@Matt Una peculiaridad es que la entrada del host debe terminar en un LineFeed o Android lo ignorará. No es un CR/LF y no puede dejar el LF en la última entrada. Eso me confundió por un tiempo. No veo un retraso de 10 minutos, los cambios que hago parecen tener lugar de inmediato. – mhenry1384