React Native、Android、Genymotion:ADB服务器没有';塔克

React Native、Android、Genymotion:ADB服务器没有';塔克,android,react-native,genymotion,Android,React Native,Genymotion,我正在Mac上使用React Native、Android和Genymotion。当我运行react native run android时,我在启动操作结束时得到以下几行代码: ... 04:54:40 E/adb: error: could not install *smartsocket* listener: Address already in use 04:54:40 E/adb: ADB server didn't ACK 04:54:40 E/ddms: '/Users/paulb

我正在Mac上使用React Native、Android和Genymotion。当我运行
react native run android
时,我在启动操作结束时得到以下几行代码:

...
04:54:40 E/adb: error: could not install *smartsocket* listener: Address already in use
04:54:40 E/adb: ADB server didn't ACK
04:54:40 E/ddms: '/Users/paulbrie/Library/Android/sdk/platform-tools/adb,start-server' failed -- run manually if necessary
04:54:40 E/adb: * failed to start daemon *
04:54:40 E/adb: error: cannot connect to daemon
:app:installDebug FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:installDebug'.
> com.android.builder.testing.api.DeviceException: Timeout getting device list.
...
但是,
adb设备
返回以下内容:

List of devices attached
192.168.59.101:5555 device
到目前为止,我还没有找到在模拟器上运行我的应用程序的解决方案。有人遇到过同样的问题吗

谢谢,
保罗

经过更多的研究,我意识到Genymotion默认使用自己的adb


我切换到我的主adb(与react native使用的相同),它解决了这个问题。我想,因为Genymotion的adb是首先启动的,所以我得到了已在使用的
地址
错误消息

我正在使用genymotion,但Paul的解决方案本身并没有修复错误(对于Mac)

我必须:

通过SDK管理器将Android SDK更新至最新版本(24.4.1)

在命令行中键入
android

在SDK管理器中找到最新的SDK工具并安装

安装后,SDK路径应更新新的SDK位置,如下所示

然后更新$ANDROID_HOME以使用新的SDK

export-ANDROID\u HOME=/usr/local/ceral/ANDROID-sdk/24.4.1\u 1

export PATH=$PATH:$ANDROID\u HOME/tools:$ANDROID\u HOME/platform tools

通过使用
echo$path查看您的路径来确认它已添加

然后在genymotion中按照@Paul所说的做,并指示genymotion ADB使用相同的sdk


系统:Windows 10

我的问题:将Genymotion设置为指向自定义SDK没有任何影响。我仍然收到:

无法在Android上启动项目:无法安装smartsocket 侦听器:无法绑定到127.0.0.1:5037:每个套接字只能使用一次 通常允许使用地址(协议/网络地址/端口)。(10048) 无法从ADB服务器读取ok*无法启动守护程序*错误: 无法连接到守护进程

我发现整个系统中使用的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点击重启按钮的日志:

12:45:53 AM
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
1:13:04 AM
Restarting project and clearing packager cache (Hold shift while clicking restart to avoid clearing cache).
1:13:11 AM
Starting React Native packager...
1:13:17 AM
Scanning 543 folders for symlinks in C:\Users\kyle\git\betalog\node_modules (49ms)
1:13:17 AM
1:13:19 AM
Couldn't adb reverse: closed
1:13:20 AM
Project opened! You can now use the "Share" or "Device" buttons to view your project.
1:13:26 AM
Couldn't adb reverse: closed
1:13:26 AM
Downloading latest version of Expo
1:13:28 AM
Installing Expo on device
1:13:33 AM
Opening on Android device
1:13:56 AM
Building JavaScript bundle: finished in 59643ms.
1:14:01 AM
Dependency graph loaded.
1:14:03 AM
Your JavaScript transform cache is empty, rebuilding (this may take a minute).
结论:Genymotion和Expo可能需要使用相同版本的adb,以便Expo能够与模拟设备正确通信。将Genymotion指向您的android SDK位置,并确保Expo XDE具有相同的版本,这将允许设备之间进行正确的通信。我将Expo XDE版本移到了SDK位置,但您可能可以选择另一种方式(获取SDK ADB文件并将其放置在Expo XDE资源位置)

p.S.我已经浏览了所有与此问题相关的stackoverflow帖子。只是想让你们知道我的任务管理器显示了adb.exe运行的三个实例。如果你杀了他们中的任何一个,他们就会回来


希望这有助于/干杯

我在尝试从expo UI运行时也遇到了同样的问题。 做了与答案中描述的相同的事情,但应用程序未运行。 当一次尝试从命令行(在项目文件夹中)运行expandroid时,应用程序成功运行,下一次从Expo UI运行成功。

我遇到了类似的问题

首先,我卸载了应用程序。 然后,我将GenyMotion指向androidstudio提供的androidsdk 接下来,我在终端中运行了“adb kill server”。
最后,我重新运行了“react native run android”,并获得了构建成功。

对我有效的步骤是:

  • $adb kill服务器

  • $adb启动服务器

  • $cd android

  • $./gradlew清洁

  • $cd..

  • $react本地运行android


如果您想保持系统清洁,也可以在不使用Android Studio的情况下使用Genymotion

  • 查找Genymotion的
    adb
    副本。在macOS上,这通常是
    /Applications/Genymotion.app/Contents/macOS/tools/
  • 将Genymotion工具目录添加到您的路径-执行/添加行
    导出路径=/Applications/Genymotion.app/Contents/MacOS/tools/:$path
    到您的
    ~/.bash\u配置文件
    ~/.bash\u rc
  • 确保可以从终端运行adb

  • (From)

    可能您的adb版本不匹配

    检查:

    adb version 
    
    然后:


    如果这两个版本不同,则此处出现错误,只需从sys中删除adb,并将平台工具中的版本复制到/usr/bin/

    系统上的adb版本与android sdk平台工具上的adb版本不同。 以下建议适用于我的Linux操作系统

  • 检查sys adb版本并运行以下命令
  • 亚洲开发银行版本

    Android调试桥版本1.0.39

  • 检查sdk adb版本
  • cd/root/Android/Sdk/平台工具

    /亚洲开发银行版本

    Android调试桥版本1.0.32

  • 抄袭
  • rm/usr/bin/adb

    [注意:上述命令删除现有adb,然后从sdk/platform tools目录复制adb]

    sudo cp/root/Android/Sdk/platform tools/adb/usr/bin/adb

    然后r
    12:45:53 AM
    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
    1:13:04 AM
    Restarting project and clearing packager cache (Hold shift while clicking restart to avoid clearing cache).
    1:13:11 AM
    Starting React Native packager...
    1:13:17 AM
    Scanning 543 folders for symlinks in C:\Users\kyle\git\betalog\node_modules (49ms)
    1:13:17 AM
    1:13:19 AM
    Couldn't adb reverse: closed
    1:13:20 AM
    Project opened! You can now use the "Share" or "Device" buttons to view your project.
    1:13:26 AM
    Couldn't adb reverse: closed
    1:13:26 AM
    Downloading latest version of Expo
    1:13:28 AM
    Installing Expo on device
    1:13:33 AM
    Opening on Android device
    1:13:56 AM
    Building JavaScript bundle: finished in 59643ms.
    1:14:01 AM
    Dependency graph loaded.
    1:14:03 AM
    Your JavaScript transform cache is empty, rebuilding (this may take a minute).
    
    adb version 
    
    cd /Path/to/Android/Sdk/platform-tools && ./adb version
    
    taskkill /F /IM adb.exe