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

M1 Mac下React Native项目Gradle同步及run-android报错求助

解决M1 Mac上React Native与Gradle同步及run-android的错误

1. 修复Android SDK配置

环境信息显示Android SDK: Not Found,这是核心问题之一:

  • 打开Android Studio,进入Preferences > Appearance & Behavior > System Settings > Android SDK,确认SDK路径(默认是~/Library/Android/sdk)
  • 在终端编辑~/.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使配置生效,再运行echo $ANDROID_HOME确认路径正确

2. 修复损坏的React Native AAR包

Unexpected end of ZLIB input stream说明下载的react-native-0.66.4.aar包损坏,导致解压失败:

  • 删除本地依赖和缓存:
    rm -rf node_modules
    # yarn用户执行
    yarn cache clean
    # npm用户执行
    npm cache clean --force
    rm -rf ~/.gradle/caches
    
  • 手动删除项目中已损坏的AAR目录:
    rm -rf ./node_modules/react-native/android/com/facebook/react/react-native/0.66.4/
    
  • 重新安装依赖:
    yarn install # 或 npm install
    

3. 适配M1 Mac的Gradle配置

M1芯片的arm64架构需要额外配置Gradle兼容性:

  • 编辑项目根目录下的android/gradle.properties,添加或修改以下配置:
    org.gradle.jvmargs=-Xmx2048m --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED
    android.useAndroidX=true
    android.enableJetifier=true
    # 若使用M1兼容的arm64 JDK(如Zulu 11),指定JDK路径
    org.gradle.java.home=/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home
    
  • 确保Android Studio使用arm64版本的JDK(推荐Zulu JDK,避免x86版本的兼容性问题)

4. 重新构建项目

  • 进入Android目录执行清理:
    cd android && ./gradlew clean
    
  • 回到项目根目录重新运行:
    npx react-native run-android
    

内容的提问来源于stack exchange,提问作者Amir Doreh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 23:33:25