在进行 React Native Android 端的 混合开发(Hybrid Development) 时,环境搭建尤为关键。涉及多个版本的协调,如 Node.js、JDK、Android SDK、Gradle、React Native 等。下面是推荐的版本选择原则和搭建建议,适用于 2025 年左右的开发环境。
🧭 1. 版本选择原则
✅ 稳定优先
- 选择 长期支持(LTS)版本,如 Node.js、JDK 等,避免使用最新实验性版本。
✅ 与 React Native 对应版本匹配
- React Native 和 Gradle、JDK、Android SDK 之间有明确的兼容性要求,务必查阅对应文档或
react-native upgrade 生成的配置。
✅ 与现有 Android 项目兼容
- 混合开发时,React Native 子模块需与原生 Android 项目保持一致的构建链版本(Gradle、AGP、JDK)。
🧱 2. 推荐版本(截至 2025 年中)
| 工具/依赖项 | 推荐版本 | 说明 |
|---|
| Node.js | 18.x LTS | 官方推荐的 LTS,稳定性好 |
| React Native | 0.74.x 或最新稳定版 | 使用 npx react-native init 默认版本即可 |
| JDK | 17 | React Native >= 0.71 推荐使用 JDK 17 |
| Android Gradle Plugin (AGP) | 8.0+ | 与 Android Studio 和 Gradle 对应版本匹配 |
| Gradle | 8.x | 与 AGP 8.0+ 匹配 |
| Android Studio | `Hedgehog | Iguana` |
| Android SDK | API 33 或 34 | 目标 SDK 为当前最新(通常 React Native 默认) |
⚙️ 3. 混合开发搭建建议
① 原生项目已有构建链?
- 避免在 RN 项目中引入 不同版本的 Gradle/JDK。
- 使用原生项目已有的
gradle-wrapper.properties、build.gradle 中的 AGP 和 Gradle 配置。
② 使用 react-native init 后再迁移
- 先用 RN 初始化一个空项目,记录其默认配置。
- 将 RN 项目合并到原生 Android 项目中(或反之),并对比调和
build.gradle 配置项。
③ 环境隔离建议
- 使用 asdf 或
nvm 管理 Node.js 多版本。
- 使用
jenv 或 Android Studio 设置多个 JDK。
🛠️ 4. 常见坑及建议
| 问题 | 建议处理方式 |
|---|
| JDK 版本不兼容(比如使用 JDK 21) | 降级到 JDK 17 |
| Gradle 报错版本不匹配 | 对齐 gradle-wrapper.properties 与 AGP 要求的 Gradle |
| Hermes 报错 | 使用 React Native 默认配置,不要手动升级 Hermes 版本 |
| AndroidX 不兼容 | 全项目迁移至 AndroidX,或配置 Jetifier |
react-native run-android 找不到设备 | 确保设置了 ANDROID_HOME,并使用 adb devices 检查 |
📚 5. 官方参考文档