cordova - 使用带有模拟器的 Cordova 和 Android Studio,事件日志一直显示“无法打开连接到:localhost/127.0.0.1:5037”
问题描述
我正在编写我的第一个移动应用程序,在 Linux (opensuse) 上使用 Cordova 9.0.0,并使用 Android Studio 3.4.2 及其模拟器。每当我启动 AS、启动 AVD(模拟器)并运行cordova emulate android
以在模拟器中运行应用程序时,AS 中的事件日志会显示其中一些:
Unable to open connection to: localhost/127.0.0.1:5037, due to: java.net.ConnectException: Connection refused
到目前为止,该应用程序只是一个很小的示例应用程序,它显示了一个图像和“设备就绪”消息。里面没有网络代码。当直接从 Android Studio 运行时,作为一个植根于 的项目./platforms/android/
,它可以工作。
我知道从模拟器的角度来看,主机设备的 IP 地址是 10.0.2.2 ,而不是 127.0.0.1 。有没有办法告诉 adb (?) 使用 10.0.2.2 ?还是有另一种方法来配置任何东西以使此设置正常工作?
我已阅读此站点上有关此错误消息的许多相关帖子,但尚未找到适用于我的设置的解决方案。请注意,根据https://developer.android.com/studio/run/emulator-networking.html#dns,模拟器不使用该/etc/hosts
文件。
解决方案
解决方案:升级adb
到最新版本。 adb
是完整 Android SDK 的一部分,或者您可以在https://dl.google.com/android/repository/platform-tools-latest-linux.zipplatform-tools
从 Google 下载最新包
就我而言,我安装了完整的 Android Studio(包括 SDK),但安装过程没有/usr/bin/adb
使用包含的(最新)版本更新我的。
推荐阅读
- c++ - 最小异或问题,超过时间限制,在少数情况下给出不同的答案
- javascript - 将按钮的 ID 传递给我的模态文本框
- python - Python/Numpy:获取二维矩阵中的前 k 个最大值作为掩码
- opencv - opencv写视频的速度是不是比实际设置速度慢?
- reactjs - 如何在 React 的 ProductPage 链接中获取产品 ID?
- python - python 的 file.read() 不返回文本文件中的字符串
- dom - 如何使用 J-script 解决此网页登录问题?
- twilio - 如何获取 Twilio 出站呼叫的确切状态
- reporting-services - 报表服务不会显示 Web 报表服务器上的所有表格和图表
- php - Laravel 生产,CORS 没有“访问控制允许来源”标题