Ubuntu 18.04下React Native构建成功但adb反向连接失败问题咨询
问题原因分析
这事儿其实很常见,核心问题就是你的终端会话没加载到adb的环境变量配置,我给你拆解清楚:
- 首先,
adb是Android SDK里的核心工具,React Native需要它来和Android模拟器/真机通信(比如反向代理、安装APP这些操作)。要让系统能在任意目录调用adb,必须把它所在的路径(一般是$HOME/Android/Sdk/platform-tools)添加到系统的PATH环境变量里。 - 你应该是把这个PATH配置写在了
$HOME/.bash_profile文件里,但这里有个关键点:.bash_profile是bash的登录会话配置文件,只有当你登录系统(比如远程SSH连接)或者手动执行source $HOME/.bash_profile时,里面的环境变量才会被加载到当前终端会话中。 - 你之前打开的那两个终端标签页,是在执行
source命令之前启动的,所以它们的会话里并没有加载到adb的PATH配置——系统找不到adb命令,自然就报错了。而执行source之后,当前终端会话会重新读取.bash_profile里的配置,把adb的路径加入PATH,这时再运行react-native run-android就能正常找到adb了。
额外小提示
如果不想每次新开终端都手动source,可以检查两个地方:
- 确认
.bash_profile里的PATH配置正确,比如有没有类似这样的行:export ANDROID_HOME=$HOME/Android/Sdk export PATH=$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools - 如果你用的是普通终端窗口(非登录会话),bash默认会加载
.bashrc而不是.bash_profile,可以在.bashrc末尾加一行:
这样每次打开终端都会自动加载PATH配置了。source $HOME/.bash_profile
内容的提问来源于stack exchange,提问作者dinosaur
相关产品推荐
相关产品推荐

