我想你最终找到了解决问题的方法。不过,对于那些四处寻找,与我们曾经遇到过的同样问题苦苦挣扎的人,我仍然会给出一个可能的答案。
由于 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 文档。
adb -s emulator-XXXX remount
adb -s emulator-XXXX pull /system/etc/hosts /whatever/directory/
您现在可以/whatever/directory/hosts
使用您喜欢的编辑器进行编辑并添加必要的主机。如果你需要访问你的开发机器的localhost接口,10.0.2.2
是一个链接到计算机的loopback接口。只需添加10.0.2.2 myapp.localhost
到主机并将其推送回虚拟设备。
adb -s emulator-XXXX push /whatever/directory/hosts /system/etc/hosts
使用 Titanium 重新启动模拟器,它应该可以解决问题!