Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
tgwstyle opened this issue Jul 27, 2024 · 1 comment
Open

Comments

@tgwstyle
Copy link

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

步骤一: 使用命令运行: 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
Copy link

主要的问题是由于 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
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' // 根据项目需求选择正确版本
}

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants