运行react-native run-android安装失败,Android SDK检测异常排查
核心问题关联判定
环境检测结果里的Android SDK未识别是直接触发当前构建失败的核心诱因之一,叠加Java版本不兼容问题,即便在Android Studio内能正常运行项目,命令行执行react-native run-android也必然会报错,和之前清理缓存、项目代码本身的关联度较低。
分步排查修复操作
- 完成Android SDK路径的全环境配置
- 先定位本机Android SDK的实际安装路径,常规默认路径为
~/Library/Android/sdk,如果曾自定义过安装位置,直接替换为实际路径即可 - 打开zsh配置文件
~/.zshrc,追加以下环境变量配置:export ANDROID_HOME=$HOME/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 - 执行
source ~/.zshrc让配置即时生效,重新运行react-native info,确认Android SDK栏目已经能被正常识别
- 修正Java版本兼容问题
当前环境检测到的Java 14.0.2版本,和项目使用的RN 0.63.4配套Gradle构建链路不兼容,是触发Task :app:packageDebug FAILED的常见原因。需要将本地Java版本切换为JDK 8或JDK 11,切换完成后执行java -version验证输出的版本号符合要求即可。 - 完成全链路构建清理
- 执行
adb kill-server后再运行adb start-server,重置安卓调试桥的连接状态,避免连接缓存干扰后续安装 - 进入项目根目录下的
android文件夹,执行./gradlew clean完成项目级的构建缓存清理,仅清理全局Gradle缓存无法解决项目内的残留构建产物问题 - 回到项目根目录重新执行构建命令
- 验证设备连接有效性
执行adb devices命令,确认列表内的实体机/模拟器状态为device:如果显示unauthorized需要在设备弹窗内确认USB调试授权;如果显示offline需要重启设备/模拟器,等待系统完全加载后再执行构建操作。
补充说明
日志里提到的“Deprecated Gradle features were used”只是版本兼容预警,不会直接导致构建失败,不需要优先处理。
内容的提问来源于stack exchange,提问作者Alicklaz
相关产品推荐
相关产品推荐

