reactnativecn / react-native-website

React Native 中文网
https://reactnative.cn
MIT License
219 stars 328 forks source link

初始化项目,运行时报错,报错如内容所述(急 急 急) #856

Closed tgwstyle closed 3 weeks ago

tgwstyle commented 3 months ago

请按以下格式提供问题的相关信息。

步骤一: 使用命令运行: yarn react-native run-android, 报错如截图

image

步骤二: 使用npx react-native doctor: 如下, 安装了Android studio,

image

步骤三: 再次使用命令 yarn react-native run-android, 依旧报错如步骤一

请描述完整的环境/版本信息

项目为初始化项目, 唯一更改的点是将gradle-8.6-all.zip改为gradle-8.5-all.zip image

注: 使用yarn react-native run-android命令,有时候可以唤起Android studio的模拟器

预期结果

ry-krystal commented 2 months ago

主要的问题是由于 Gradle 版本和 Java 版本之间的不兼容所导致的。具体来说,react-native-gradle-plugin 需要一个与当前的 Java 版本兼容的 Gradle 配置,但当前项目的配置不满足这个条件。 错误原因: Gradle 插件版本不兼容:你的项目需要 Gradle 插件的某个特定版本,而你的 Java 版本不满足该插件的需求。 Java 版本不兼容:项目可能需要 Java 8 或 Java 11 进行构建,而错误信息表明项目中存在 Java 8 和 Java 11 的混合使用,这可能会导致不兼容。 解决方案:

  1. 确保安装正确的 Java 版本 根据错误日志,Java 版本问题是主要原因。首先确保你的项目使用的 Java 版本正确。 React Native 项目通常建议使用 Java 8 或 Java 11 进行构建。你可以通过以下命令检查当前的 Java 版本: java -version 如果没有安装 Java 8 或 Java 11,你可以通过以下步骤安装: 安装 Java 8: brew install --cask adoptopenjdk/openjdk/adoptopenjdk8 安装 Java 11: brew install --cask adoptopenjdk/openjdk/adoptopenjdk11

  2. 设置项目使用的 Java 版本 在 macOS 或 Linux 系统中,你可以通过设置 JAVA_HOME 来确保项目使用正确的 Java 版本: export JAVA_HOME=$(/usr/libexec/java_home -v 1.8) 或者对于 Java 11: export JAVA_HOME=$(/usr/libexec/java_home -v 11) 然后重新构建项目。

  3. 更新 Gradle 版本 确保项目使用的 Gradle 版本与 Java 版本兼容。你可以编辑 android/build.gradle 文件中的 classpath 部分,更新 gradle 插件的版本。

例如,更新为适合 Java 11 的 Gradle 版本: dependencies { classpath 'com.android.tools.build:gradle:7.0.2' // 检查并更新到适当的版本 } 还可以更新 gradle-wrapper.properties 文件以确保 Gradle 版本正确: distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip

  1. 清理 Gradle 缓存并重试 运行以下命令清理 Gradle 缓存并重新构建项目: cd android ./gradlew clean cd .. yarn android
  2. 修复 Kotlin 插件依赖 日志中提到 kotlin-gradle-plugin 相关问题,确保你在 android/build.gradle 文件中使用正确的 Kotlin 插件版本。检查 Kotlin 插件的版本并更新到兼容的版本: ext { kotlinVersion = '1.5.30' // 根据项目需求选择正确版本 }

dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" }

  1. 更新 React Native Gradle Plugin 如果以上步骤不能解决问题,可能需要更新 React Native Gradle Plugin 到最新版本。在项目的 android/app/build.gradle 文件中,确保你使用的是最新的 React Native Gradle Plugin:

apply from: "../../node_modules/react-native/react.gradle"

tgwstyle commented 1 month ago

主要的问题是由于 Gradle 版本和 Java 版本之间的不兼容所导致的。具体来说,react-native-gradle-plugin 需要一个与当前的 Java 版本兼容的 Gradle 配置,但当前项目的配置不满足这个 错误原因: Gradle 插件版本不兼容:您的需要 Gradle 插件的项目某个特定版本,而您的 Java 版本不满足该插件的需求。Java 版本不兼容:项目可能需要 Java 8 或 Java 11 进行构建,而错误信息表明项目中存在 Java 8 和 Java 11 的混合使用,这可能会导致不兼容。 解决方案:

  1. 根据错误日志确保安装正确的 Java 版本 ,Java 版本问题是关键。首先确保你的项目使用的 Java 版本正确。React Native 项目通常建议使用 Java 8 或 Java 11 进行构建。你通过以下命令检查当前的 Java 可以版本: java -version 如果没有安装 Java 8 或 Java 11,您可以通过以下步骤安装: 安装 Java 8:brew install --cask suggestopenjdk/openjdk /adoptopenjdk8 安装 Java 11: brew install --cask suggestopenjdk/openjdk/ adoptopenjdk11
  2. 在 macOS 或 Linux 系统中设置项目使用的 Java 版本,您可以通过设置 JAVA_HOME 来确保项目使用正确的 Java 版本: export JAVA_HOME=$(/usr/libexec/java_home -v 1.8) 或者对于 Java 11: export JAVA_HOME= $(/usr/libexec/java_home -v 11) 然后重新构建项目。
  3. 更新 Gradle 版本 确保项目使用的 Gradle 版本与 Java 版本兼容。您可以编辑 android/build.gradle 文件中的 classpath 部分,更新 gradle 插件的版本。

例如,更新为适合 Java 11 的 Gradle 版本: dependency { classpath 'com.android.tools.build:gradle:7.0.2' // 检查并更新到适当的版本 } 还可以更新 gradle-wrapper.properties 文件以确保Gradle版本正确: distributionUrl=https://services.gradle.org/distributions/gradle-7.0.2-all.zip 4.清理Gradle服务器并重试 运行以下命令清理Gradle服务器并重新构建项目: cd android ./gradlew clean cd ..yarn android 5.修复 Kotlin 插件依赖 日志中提到 kotlin-gradle-plugin 相关问题,确保您在 android/build.gradle 文件中使用正确的 Kotlin 插件版本。检查 Kotlin 插件的版本并更新到兼容的版本: ext { kotlinVersion = '1.5.30' // 根据项目选择需求正确版本 }

dependency { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" } 6. 更新 React Native Gradle 插件 如果以上步骤无法解决问题,可能需要更新 React Native Gradle 插件到最新版本。在项目的 android/ app/build.gradle 文件中,确保您使用的是最新的 React Native Gradle 插件:

申请自:“../../node_modules/react-native/react.gradle”

image 执行yarn react-native run-android,一直卡在14%, 请问大佬,你知道原因吗?该如何解决? @ry-krystal

ry-krystal commented 1 month ago

主要的问题是由于 Gradle 版本和 Java 版本之间的不兼容所导致的。具体来说,react-native-gradle-plugin 需要一个与当前的 Java 版本兼容的 Gradle 配置,但当前项目的配置不满足这个 错误原因: Gradle 插件版本不兼容:您的需要 Gradle 插件的项目某个特定版本,而您的 Java 版本不满足该插件的需求。Java 版本不兼容:项目可能需要 Java 8 或 Java 11 进行构建,而错误信息表明项目中存在 Java 8 和 Java 11 的混合使用,这可能会导致不兼容。 解决方案:

  1. 根据错误日志确保安装正确的 Java 版本 ,Java 版本问题是关键。首先确保你的项目使用的 Java 版本正确。React Native 项目通常建议使用 Java 8 或 Java 11 进行构建。你通过以下命令检查当前的 Java 可以版本: java -version 如果没有安装 Java 8 或 Java 11,您可以通过以下步骤安装: 安装 Java 8:brew install --cask suggestopenjdk/openjdk /adoptopenjdk8 安装 Java 11: brew install --cask suggestopenjdk/openjdk/ adoptopenjdk11
  2. 在 macOS 或 Linux 系统中设置项目使用的 Java 版本,您可以通过设置 JAVA_HOME 来确保项目使用正确的 Java 版本: export JAVA_HOME=$(/usr/libexec/java_home -v 1.8) 或者对于 Java 11: export JAVA_HOME= $(/usr/libexec/java_home -v 11) 然后重新构建项目。
  3. 更新 Gradle 版本 确保项目使用的 Gradle 版本与 Java 版本兼容。您可以编辑 android/build.gradle 文件中的 classpath 部分,更新 gradle 插件的版本。

例如,更新为适合 Java 11 的 Gradle 版本: dependency { classpath 'com.android.tools.build:gradle:7.0.2' // 检查并更新到适当的版本 } 还可以更新 gradle-wrapper.properties 文件以确保Gradle版本正确: distributionUrl=https://services.gradle.org/distributions/gradle-7.0.2-all.zip 4.清理Gradle服务器并重试 运行以下命令清理Gradle服务器并重新构建项目: cd android ./gradlew clean cd ..yarn android 5.修复 Kotlin 插件依赖 日志中提到 kotlin-gradle-plugin 相关问题,确保您在 android/build.gradle 文件中使用正确的 Kotlin 插件版本。检查 Kotlin 插件的版本并更新到兼容的版本: ext { kotlinVersion = '1.5.30' // 根据项目选择需求正确版本 } dependency { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" } 6. 更新 React Native Gradle 插件 如果以上步骤无法解决问题,可能需要更新 React Native Gradle 插件到最新版本。在项目的 android/ app/build.gradle 文件中,确保您使用的是最新的 React Native Gradle 插件: 申请自:“../../node_modules/react-native/react.gradle”

image 执行yarn react-native run-android,一直卡在14%, 请问大佬,你知道原因吗?该如何解决? @ry-krystal

加我微信Krystaless @tgwstyle