Android模拟器未连接到localhost api
Posted
技术标签:
【中文标题】Android模拟器未连接到localhost api【英文标题】:Android emulator not connecting to localhost api 【发布时间】:2019-03-08 04:04:51 【问题描述】:我有一个 Xamarin 应用程序和 localhost API。我正在尝试从应用程序连接到 API,但找不到它。我编辑了我的applicationhost.config
文件,并在通话中尝试了localhost
、10.0.2.2
和我的IP 地址,但它不起作用。
那么,如何配置简单的 API 访问? (API 本身运行良好)
【问题讨论】:
使用 IP 地址。使用设备/模拟器上的浏览器对其进行测试以排除连接问题。还要检查您的防火墙设置。 感谢您的回复。好的,但是我在模拟器中使用我的 IP 对其进行了测试,但尚未找到。如何检查我的防火墙?我不知道,我该怎么办。 【参考方案1】:有一个简单的解决方法可以将 Emulator & Simulator 连接到我正在使用的 localhost API。
Download third party software NgRok for Windows 在您 PC 的任何特定位置。它只包含一个名为 ngrok.exe 的可执行文件。 现在在您首选的浏览器上执行您的服务。然后按照以下步骤操作。
在命令提示符下打开你的 ngrok 位置
使用前缀打开您的服务 URL(从您的浏览器获取):ngrok http --host-header=rewrite
现在转到执行服务的浏览器,打开另一个选项卡并键入 localhost:4040,然后按 Enter -->转到状态,您将找到可以在移动应用程序中使用的公共 URL。
注意:Url 结构应该是这样的public const string BaseUri = "https://8c56892f.ngrok.io/";
,最后是/
。尽量不要在命令提示符中附加不必要的 /。
好处
通过使用此方法,您可以将服务从一个 Visual Studio 调试到另一个。
在您关闭命令提示符之前,您的 URL 将处于活动状态。
在浏览器或命令提示符中跟踪您的请求状态,例如确定、未找到等。
欲了解更多信息,请访问https://www.c-sharpcorner.com/article/exposing-local-web-server-to-internet-using-ngrok/
希望对你有所帮助。
【讨论】:
天哪。是的,它正在工作!非常感谢! (我以前从未见过这样的事情) 即使这对我在 Flutter android 和 dot net server 方面也没有帮助 @neena 我使用 IIS Express(在 .NET Core 中开发的 API)遵循了所有步骤及其在 Flutter 中的工作。 不错的工具 - 请记住,免费版本只允许每次 2 小时的会话,并且它们生成的 url 每次都会更改,这很烦人【参考方案2】:该 10.0.2.2 地址用于 Google 模拟器。对于您想要使用 169.254.80.80 的 Microsoft 模拟器。如果这不起作用,那么它一定意味着您打开了防火墙并且它正在阻止流量。这可以通过为程序或端口添加新的传入规则来解决。
【讨论】:
是的,这是真的!我正在调试它。我的 android 模拟器使用 10.0.2.2 地址。但是,如何为程序或端口添加新的传入规则? @DönciFekete 打开本地服务器(WAMP、XAMP),打开模拟器并在 chrome 或模拟器中的任何浏览器中输入 169.254.80.80 并检查 wamp/xamp 页面是否显示。如果它没有显示,告诉错误代码它正在显示什么。 如果您使用的是最新的 wamp 服务器,请按照此链接中的步骤操作betterhostreview.com/access-wamp-server-local-network.html 我使用 RESTFull Web 服务,如本例中的 developer.xamarin.com/samples/xamarin-forms/WebServices/…。所以,我没有听从你的指示。你有什么建议吗? 如果您使用本地服务器执行添加、删除、编辑等操作,如果您使用在线服务器,请按照上述步骤检查您是否已为您的应用授予 Internet 权限以上是关于Android模拟器未连接到localhost api的主要内容,如果未能解决你的问题,请参考以下文章
Flutter 应用程序:IOS 模拟器未连接到 Android Studio
部署到Heroku后,Localhost未连接到mongodb