Как редактировать файл/etc / hosts в эмуляторе Android Studio, работающем в нуге?
кто-нибудь знает, как редактировать /etc/hosts файл внутри эмулятора Android studio, работающего в нуге? Я буду редактировать его, чтобы использовать виртуальный хост на локальном веб-сервере. Я попытался отредактировать его через терминал с помощью adb, однако он возвращает файловую систему только для чтения. Пробовал также использовать chmod, но все равно это не удается.
обновление: Я также попытался вытащить и толкать файлы с помощью adb $ ./ ADB-s emulator-5554 push ~ / рабочий стол /хосты/система/etc / хосты
adb: ошибка: не удалось скопировать '/Users / Christian / Desktop / hosts ' to '/ system / etc / hosts': не удалось создать файл: файловая система только для чтения
6 ответов
1) android-sdk-macosx/tools/emulator -avd <avdname> -writable-system
2) ./adb root
3) ./adb remount
4) ./adb push <local>/hosts /etc/hosts
Android файл хост может быть
/etc/hosts <--- This worked for me
/etc/system/hosts
/system/etc/hosts
Регистрация
1) ./adb shell
2) cat /etc/hosts
3) ping customsite.com
вот как я смог это сделать, работая на OSX. После прочтения кучи разных инструкций ничего не работает для меня, пока кто-то не упомянул, что у вас очень узкое окно для копирования файла с вашего диска на эмулируемое устройство или он снова становится доступным только для чтения
- запустите эмулятор.
- в вашем терминале найдите папку "platform-tools" для ваших устройств
- подготовить файл hosts, который вы хотите скопировать на устройство (в моем случае я положил его на рабочий стол)
- строка вместе кучу команд, чтобы скопировать файл быстро. Это то, что сработало для меня
./adb root && ./adb -s emulator-5554 remount && ./adb -s emulator-5554 push ~/Desktop/hosts /system/etc/hosts
'emulator-5554' - это имя моего устройства, которое вы можете найти, набрав./adb devices
после этого терминал ответил
restarting adbd as root
remount succeeded
[100%] /system/etc/hosts
вы можете veryfy копия была успешной ./adb shell
а то cat /system/etc/hosts
затем я смог подключиться к своим виртуальным хостам из эмулируемого устройство
чтобы быть полным, вот как выглядел мой файл hosts как
10.0.2.2 my-virtual-host
Я надеюсь, что это поможет кому-то, как я spet довольно много времени, пытаясь понять это.
Я смог отредактировать файл/etc / hosts, запустив эмулятор с-writable-system и переустановив эмулятор с помощью ADB remount. После этого файл hosts внутри эмулятора можно редактировать. Я попытался нажать / заменить файл и преуспел.
выполните следующие 3 шага :
- запустить эмулятор в режиме записи :
./emulator -avd <emulator_name> -writable-system
- перемонтировать :
adb remount
- нажмите файл hosts прикрепленный :
adb push hosts /system/etc/
Примечание :
- запустите один и только один emulator_name с вышеуказанными шагами
- исполняемый файл
emulator
находится в пределах android-sdk. Для меня это было подsdk/emulator
. - прикрепленный файл hosts разрешит
www.facebook.com
для 127.0.0.1, поэтому блокиwww.facebook.com
на эмуляторе.
вы можете использовать оболочку ADB для редактирования файла, изменив доступ (только для чтения в RW)
попробуйте @P. O. W ответ,
убедитесь, что у вас есть пустая строка после последней записи файла hosts Если вы используете вкладки в файле hosts, замените их пробелами Перезагрузите Android и повторите попытку:
adb reboot