尝试运行时
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)
任何解决此问题的方法。我已尝试过各种设备。
答案 0 :(得分:0)
你检查了你的港口吗?您的端口5037可能正在被其他应用程序使用。您可以使用Windows任务管理器检查您的端口。
答案 1 :(得分:0)
当你运行tns超过2次它有时消耗你的端口,你需要做的就是运行
taskkill /f /pid 123456
您将获得在您的计算机上运行的任务列表。 您需要在本地地址列中查找5037端口,找到后,检查任务的进程ID(PID)。 然后用
杀死它{{1}}
现在你可以继续开发了:)
答案 2 :(得分:0)
我发现在整个系统中使用的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
让我看到世博会正在运行亚行版:
Android Debug Bridge version 1.0.36
Revision fd9e4d07b0f5-android
使用自定义SDK的Genymotion有版本(c:\ Users \ kyle \ AppData \ Local \ Android \ Sdk \ platform-tools \ adb.exe):
Android Debug Bridge version 1.0.39
Revision 3db08f2c6889-android
作为测试,我从
中获取了adb文件(adb.exe,AdbWinApi.dll,AdbWinUsbApi.dll)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:
adb kill-server
由于我的Genymotion设备已经运行,导致adb服务器自动重启。我点击了#34;重启&#34;世博XDE内的按钮立即开始工作。这是我在上午1:13:04点击重启按钮的日志:
只需所有adb.exe文件都必须具有相同的版本。