Полагаю, вы в конце концов нашли способ решения проблемы. Тем не менее, я дам возможный ответ тем, кто ищет, борясь с той же проблемой, с которой мы когда-то сталкивались.
Поскольку устройства Android эмулируются, а не имитируются (в отличие от устройств iOS), у них действительно есть свои ядра, файлы конфигурации ... и свои собственные /system/etc/hosts
. Но вы можете использовать adb с Titanium. Вам просто нужно быть осторожным. Поскольку Titanium использует пользовательское виртуальное устройство, основанное на tiapp.xml, вам придется запустить приложение хотя бы один раз, прежде чем виртуальное устройство появится в списке устройств.
Если у вас больше, чем на виртуальном устройстве, вам сначала нужно получить имя устройства, сгенерированного Titanium (обычно emulator-XXXX).
adb devices
Затем вы можете смонтировать его и использовать команды adb push и pull, чтобы вывести /system/etc/hosts
из системы эмулятора, отредактировать его и отправить обратно. -s emulator-XXXX
указывает, на каком устройстве эти команды должны выполняться. Если есть только одно устройство, вы можете пропустить эту опцию. См. adb doc для получения дополнительной информации.
adb -s emulator-XXXX remount
adb -s emulator-XXXX pull /system/etc/hosts /whatever/directory/
Теперь вы можете редактировать /whatever/directory/hosts
в своем любимом редакторе и добавить нужный хост. Если вам нужен доступ к интерфейсу localhost вашей машины разработки, 10.0.2.2
- это ссылка на интерфейс обратной связи компьютера. Просто добавьте 10.0.2.2 myapp.localhost
к хосту и верните его обратно на виртуальное устройство.
adb -s emulator-XXXX push /whatever/directory/hosts /system/etc/hosts
Перезапустите симулятор с Titanium, и он должен добиться цели!