首页 > 解决方案 > 使用带有模拟器的 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文件。

标签: cordovaandroid-studioandroid-emulatoradb

解决方案


解决方案:升级adb到最新版本。 adb是完整 Android SDK 的一部分,或者您可以在https://dl.google.com/android/repository/platform-tools-latest-linux.zipplatform-tools从 Google 下载最新包

就我而言,我安装了完整的 Android Studio(包括 SDK),但安装过程没有/usr/bin/adb使用包含的(最新)版本更新我的。


推荐阅读