android - Android模拟器主机文件不适用于Android应用
问题描述
我有一个在 android 模拟器上运行的 react 本机应用程序,我正在尝试在https://dev.mywebsite.com/api向我的本地 api(在我的笔记本电脑上运行)发出请求。该域是在模拟器中归档的主机,如下所示:
/etc/hosts
并且所有人/system/etc/hosts
都有/etc/system/hosts
:
127.0.0.1 localhost
::1 ip6-localhost
10.0.2.2 dev.mywebsite.com
注意:我也试过我的本地ip地址192.168.1.13
该域有一个真正的 ssl 证书,我可以从模拟器上的 chrome 访问它而不会出现问题。
将我的 api 调用更改为部署在生产中的目标https://mywebsite.com/api确实有效。
出于某种原因,运行adb shell
和 ping显示 127.0.0.1?dev.mywebsite.com
为什么模拟器中的 chrome 可以工作,但我的 react native 应用程序不能?如果你帮我解决这个问题,我会很兴奋:) 也许有一些解决方法?我会折腾代表赏金。
编辑
我让它在物理设备(不是模拟器)上工作。我使用了一个名为“Hosts Go”的应用程序将文件托管到 192.168.1.13,它可以工作。为什么 Hosts Go 应用程序可以工作,但模拟器 hosts 文件却不能?我无法在我的物理设备上编辑主机文件,因为它没有进行测试。
解决方案
好吧,如果这不是要调试的更棘手的问题...
在您的主机文件末尾放置一个空行。
如果您的主机文件没有,Chrome 出于某种原因可以工作,但来自您的应用程序的请求不会。
推荐阅读
- css - 在 ReactJS 中组合条件样式和悬停
- css - 构建后 Angular 中未加载字体真棒字体
- postgresql - pgbench 无效的客户端数量
- javascript - 如何使用我的函数从 123456789 返回 305274961
- exchangelib - 转发传入的 OUTLOOK exchangelib 消息
- docker - 无法从网络设备正确发送到 kafka-docker
- xml - xmlstarlet 在无效的 xhtml 上选择查询
- ruby-on-rails-5 - Rails 5 消息应用程序不会显示聊天室消息,除非重新加载
- node.js - npm install sqlite3 - gyp 错误:无法获取本地颁发者证书
- javascript - 如何在 html 标签中使用 useState?