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

执行pnpm start:android:dev时遇sdkmanager未找到错误的解决求助

React Native Android构建报错:找不到sdkmanager可执行文件

每次执行pnpm start:android:dev命令时,都会返回如下错误:

What went wrong:
Could not determine the dependencies of task 
>':react-native:packages:react-native:ReactAndroid:hermes-engine:configureBuildForHermes'. 
>Could not create task ':react-native:packages:react-native:ReactAndroid:hermes-engine:installCMake'. 
> Could not find sdkmanager executable.

已尝试的操作:

  • 使用过仅命令行工具和Android Studio提供的SDK
  • 设置环境变量ANDROID_HOME=C:\Users\hmeli\Downloads\android_sdk
  • 在Path中添加%ANDROID_HOME%\platform-tools和%ANDROID_HOME%\cmdline-tools\tools\bin,甚至改用完整路径,但均无效
  • 在命令提示符(CMD)和PowerShell中执行sdkmanager --version可正常运行,但在Git Bash中不行

解决方法

1. 修复Git Bash的环境变量加载问题

Git Bash在Windows下采用Unix风格路径,且可能无法完全继承系统环境变量,可按以下步骤处理:

  • 临时验证:打开Git Bash,手动设置环境变量后再执行构建命令:
    export ANDROID_HOME="/c/Users/hmeli/Downloads/android_sdk"
    export PATH="$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/cmdline-tools/tools/bin"
    pnpm start:android:dev
    
  • 永久生效:编辑Git Bash的配置文件~/.bashrc或~/.bash_profile(无则新建),添加以下内容:
    export ANDROID_HOME="/c/Users/hmeli/Downloads/android_sdk"
    export PATH="$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/cmdline-tools/tools/bin"
    
    保存后执行source ~/.bashrc使配置立即生效。

2. 确认cmdline-tools的目录结构

Android SDK要求cmdline-tools有特定目录结构才能被识别:

  • 检查SDK目录下的结构是否为android_sdk/cmdline-tools/latest/bin,如果是旧版的tools/bin,需调整:
    1. 将android_sdk/cmdline-tools/tools重命名为latest
    2. 对应更新环境变量Path为%ANDROID_HOME%\cmdline-tools\latest\bin(Windows系统)或$ANDROID_HOME/cmdline-tools/latest/bin(Git Bash)

3. 让Gradle直接读取SDK路径

在项目的android/local.properties文件中,明确指定SDK路径:

sdk.dir=C:\\Users\\hmeli\\Downloads\\android_sdk

或使用正斜杠格式避免转义:

sdk.dir=/c/Users/hmeli/Downloads/android_sdk

4. 验证Git Bash中的sdkmanager可执行性

在Git Bash中执行以下命令排查路径问题:

  • 检查sdkmanager是否在Path中:
    which sdkmanager
    
  • 如果返回空,直接执行完整路径验证:
    /c/Users/hmeli/Downloads/android_sdk/cmdline-tools/latest/bin/sdkmanager --version
    

5. 检查Git Bash权限

尝试以管理员身份运行Git Bash,避免因权限不足导致无法访问SDK目录或执行sdkmanager。


内容的提问来源于stack exchange,提问作者Hm Elius Hossain Himel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 04:01:09