You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native中Detox测试报错:目录无adb可执行文件求助

React Native Detox测试报错:找不到adb可执行文件

问题描述

我在MacBook上开发React Native应用,Android环境配置完成且能正常在模拟器运行应用,但执行Detox测试时遇到错误:

DetoxRuntimeError: There was no "adb" executable file in directory

当前.zshrc中的Android环境配置:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home
export ANDROID_HOME=/Users/sagar/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
export ANDROID_SDK_ROOT=~/Library/Android/sdk

Adb版本信息:

adb --version

Android Debug Bridge version 1.0.41
Version 34.0.5-10900879
Installed as /usr/local/bin/adb
Running on Darwin 23.5.0 (x86_64)

解决方案

1. 确保环境变量生效并包含adb路径

  • 执行source ~/.zshrc让配置立即生效,重启终端后重新运行Detox测试。
  • 检查当前PATH是否包含adb所在目录:执行echo $PATH,确认/usr/local/bin或$ANDROID_HOME/platform-tools在列表中。如果/usr/local/bin不在,直接添加到PATH并写入.zshrc:
    export PATH=$PATH:/usr/local/bin
    

2. 在Detox配置中直接指定adb路径

修改Detox配置文件(如detox.config.js或package.json的detox字段),明确adb的绝对路径:

module.exports = {
  configurations: {
    android: {
      binaryPath: 'android/app/build/outputs/apk/debug/app-debug.apk',
      build: 'cd android && ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug',
      device: {
        adbBinaryPath: '/usr/local/bin/adb'
      }
    }
  }
};

3. 同步platform-tools中的adb文件

确认$ANDROID_HOME/platform-tools下是否有adb:

ls /Users/sagar/Library/Android/sdk/platform-tools/adb

如果存在但Detox无法识别,可将其替换为当前可用adb的软链接:

rm /Users/sagar/Library/Android/sdk/platform-tools/adb
ln -s /usr/local/bin/adb /Users/sagar/Library/Android/sdk/platform-tools/adb

4. 验证Detox加载的环境变量

运行Detox时开启调试,查看环境变量是否包含adb路径:

detox test --debug-sync

在输出中查找PATH相关内容,确认adb所在目录已被加载。

内容的提问来源于stack exchange,提问作者Sagar H

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 05:30:02