小能豆

命令失败:gradlew.bat installDebug

javascript

在开发应用程序时,我遇到了以下错误。我尝试将 Java 版本从 11 降级到 8,但这没有帮助。

FAILURE: Build failed with an exception.

* What went wrong:
Could not create service of type ScriptPluginFactory using BuildScopeServices.createScriptPluginFactory().
> Could not create service of type PluginResolutionStrategyInternal using BuildScopeServices.createPluginResolutionStrategy().

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 15s
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/getting-started.html

Command failed: gradlew.bat installDebug

Error: Command failed: gradlew.bat installDebug
    at checkExecSyncError (child_process.js:616:11)
    at Object.execFileSync (child_process.js:634:13)
    at runOnAllDevices (C:\Users\samie\Documents\React Native\auth\node_modules\react-native\local-cli\runAndroid\runAndroid.js:299:19)
    at buildAndRun (C:\Users\samie\Documents\React Native\auth\node_modules\react-native\local-cli\runAndroid\runAndroid.js:135:12)
    at isPackagerRunning.then.result (C:\Users\samie\Documents\React Native\auth\node_modules\react-native\local-cli\runAndroid\runAndroid.js:65:12)
    at process._tickCallback (internal/process/next_tick.js:68:7)

阅读 110

收藏
2024-06-16

共1个答案

小能豆

您在构建 React Native 项目时遇到的错误消息表明 Gradle 构建过程失败。这可能是由于多种原因造成的,包括 Gradle 或插件兼容性问题、Java 版本不正确或项目配置错误。

您可以采取以下步骤来排除故障并解决此问题:

1.检查你的 Java 版本

确保安装了正确版本的 Java,并且JAVA_HOME正确设置了环境变量。React Native 通常支持适用于 Android 版本的 Java 8。

通过运行以下命令来验证您的 Java 版本:

java -version

将环境变量设置JAVA_HOME为正确的路径。例如:

  • 在 Windows 上:

set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_251

  • 在 macOS/Linux 上:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home

2.删除并重新安装node_modules

有时依赖项可能会损坏。删除node_modules文件夹并重新安装可能会有所帮助:

rm -rf node_modules
npm install

或者,如果你使用 Yarn:

rm -rf node_modules
yarn install

3. 删除android/.gradleandroid/build文件夹

Gradle 缓存有时会引发问题。删除这些文件夹可能会强制 Gradle 重新下载依赖项并重建缓存:

rm -rf android/.gradle
rm -rf android/build

4.更新 Gradle 和 Android Build Tools

确保您的 Gradle 和 Android 构建工具是最新的。修改您的android/build.gradle文件以使用兼容的 Gradle 版本。例如:

// android/build.gradle
buildscript {
    ext {
        buildToolsVersion = "30.0.2"
        minSdkVersion = 16
        compileSdkVersion = 30
        targetSdkVersion = 30
        // Update the Gradle version as needed
        gradleVersion = "6.9"
    }
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath("com.android.tools.build:gradle:4.2.1")
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

5.清除 Gradle 缓存

有时,清除 Gradle 缓存可以解决构建问题:

gradlew clean

6. 确保 SDK 配置正确

确保您已安装必要的 Android SDK 组件:

  • 打开 Android Studio。
  • 前往File > Project Structure > SDK Location并确保 SDK 路径正确。
  • 转到SDK Manager并确保您已安装必要的 SDK 平台和工具(例如,Android 10.0(Q)SDK)。

7. 使用 Stacktrace 运行

使用该选项运行构建--stacktrace可以提供更详细的错误信息,这有助于调试:

gradlew installDebug --stacktrace

8. 确保模拟器/设备正在运行

确保您已运行 Android 模拟器或已连接物理设备。运行以下命令验证您的设备是否已被识别:

adb devices

9. 重新安装 React Native CLI

如果以上步骤均不起作用,您可能需要重新安装 React Native CLI:

npm uninstall -g react-native-cli
npm install -g react-native-cli

结论

通过执行这些步骤,您应该能够识别并解决 React Native Android 版本的问题。如果问题仍然存在,请考虑创建一个新的 React Native 项目并迁移您的代码,以查看问题是否特定于项目。此外,查阅 React Native GitHub 问题页面和社区论坛可以提供进一步的见解。

2024-06-16