Nativescript 尝试在设备上运行时出错

Nativescript 尝试在设备上运行时出错,nativescript,Nativescript,当你想跑的时候 tns run android --device xxxx 我总是犯这样的错误: Error: error: could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037: Only one usage of each socket address (protocol/network address/port) is normally permitted. (10048) could not re

当你想跑的时候

tns run android --device xxxx
我总是犯这样的错误:

Error: error: could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037: Only one usage of each socket address (protocol/network address/port) is normally permitted. (10048)
could not read ok from ADB Server
* failed to start daemon *
error: cannot connect to daemon

at Socket.<anonymous> (C:\Users\Raziff\AppData\Roaming\npm\node_modules\nativescript\lib\common\mobile\mobile-core\android-device-discovery.js:54:25)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at readableAddChunk (_stream_readable.js:146:16)
at Socket.Readable.push (_stream_readable.js:110:10)
at Pipe.onread (net.js:523:20)
错误:错误:无法安装*smartsocket*侦听器:无法绑定到127.0.0.1:5037:每个套接字地址(协议/网络地址/端口)通常只允许使用一次。(10048)
无法从ADB服务器读取ok
*无法启动守护进程*
错误:无法连接到守护进程
在插座上。(C:\Users\Raziff\AppData\Roaming\npm\node\u modules\nativescript\lib\common\mobile\mobile core\android device discovery.js:54:25)
在emitOne(events.js:77:13)
位于Socket.emit(events.js:169:7)
在readableAddChunk(_stream_readable.js:146:16)
在Socket.Readable.push(_stream_Readable.js:110:10)
at Pipe.onread(net.js:523:20)

有没有办法解决这个问题。我已经在各种设备上试用过。

你检查过你的端口了吗?您的端口5037可能正被其他应用程序使用。您可以使用Windows任务管理器检查端口。

您检查了端口吗?您的端口5037可能正被其他应用程序使用。您可以使用Windows任务管理器检查您的端口。

当您运行tns超过2次时,它有时会占用您的端口,您需要做的是运行tns

netstat -a -o -n
您将获得计算机上运行的任务列表。 您需要在本地地址列中查找5037端口,找到它后,检查任务的进程ID(PID)。 那就用枪杀了它

taskkill /f /pid 123456

现在您可以继续开发:)

当您运行tns超过2倍时,它有时会占用您的端口,您需要做的事情是运行tns

netstat -a -o -n
您将获得计算机上运行的任务列表。 您需要在本地地址列中查找5037端口,找到它后,检查任务的进程ID(PID)。 那就用枪杀了它

taskkill /f /pid 123456

现在您可以继续开发:)

我发现整个系统中使用的ADB版本存在差异。下面是我用来查找它们的命令:

where /r C:\ adb.exe
这产生了以下结果:

C:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe
C:\Program Files\Genymobile\Genymotion\tools\adb.exe
C:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe
C:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb backup\adb.exe
导航到每个目录并运行:

adb.exe version
让我看到世博会正在运行ADB版本:

Android Debug Bridge version 1.0.36
Revision fd9e4d07b0f5-android
使用自定义SDK的Genymotion版本为(c:\Users\kyle\AppData\Local\Android\SDK\platform tools\adb.exe):

作为测试,我从

并将它们放入备份文件夹中。然后我移动了位于的adb文件

c:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe
去同一个地方。我杀了亚行:

adb kill-server
这导致adb服务器自动重新启动,因为我的Genymotion设备已在运行。我按下Expo XDE内部的“重启”按钮,它立即开始工作。这是我在凌晨1:13:04点击重启按钮的日志:


所有adb.exe文件都必须具有相同的版本。

我发现整个系统中使用的adb版本存在差异。下面是我用来查找它们的命令:

where /r C:\ adb.exe
这产生了以下结果:

C:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe
C:\Program Files\Genymobile\Genymotion\tools\adb.exe
C:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe
C:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb backup\adb.exe
导航到每个目录并运行:

adb.exe version
让我看到世博会正在运行ADB版本:

Android Debug Bridge version 1.0.36
Revision fd9e4d07b0f5-android
使用自定义SDK的Genymotion版本为(c:\Users\kyle\AppData\Local\Android\SDK\platform tools\adb.exe):

作为测试,我从

并将它们放入备份文件夹中。然后我移动了位于的adb文件

c:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe
去同一个地方。我杀了亚行:

adb kill-server
这导致adb服务器自动重新启动,因为我的Genymotion设备已在运行。我按下Expo XDE内部的“重启”按钮,它立即开始工作。这是我在凌晨1:13:04点击重启按钮的日志:


所有adb.exe文件都必须具有相同的版本。

使用端口5037的唯一功能是adb。这就是它试图使用的任何方式唯一使用端口5037的是adb。这就是它试图使用的东西我也遇到了同样的错误,结果是我的PATH变量没有正确设置为指向android sdk。试试看。我认为android本身有一个bug,在下面的链接中,我得到了相同的错误,结果是我的PATH变量没有正确设置为指向android sdk。试试看。我认为android本身有一个bug,请点击下面的链接