React Native:“执行com.android.build.gradle.internal.tasks.Workers $ ActionFacade时发生故障”

时间:2020-11-04 08:11:29

标签: react-native gradle

我创建了一个新的react native项目并运行react-native run-android

但是,我遇到此错误:

A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade

这是屏幕截图: error 1

这是我的android/build.gradle

 // Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext {
        buildToolsVersion = "29.0.2"
        minSdkVersion = 16
        compileSdkVersion = 29
        targetSdkVersion = 29
    }
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath("com.android.tools.build:gradle:3.5.3")
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        mavenLocal()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url("$rootDir/../node_modules/react-native/android")
        }
        maven {
            // Android JSC is installed from npm
            url("$rootDir/../node_modules/jsc-android/dist")
        }

        google()
        jcenter()
        maven { url 'https://www.jitpack.io' }
    }
}

我是React Native的新手,这是一个新项目,因此将不胜感激。

2 个答案:

答案 0 :(得分:0)

解决方案 1: 通过删除并重新创建 AVD(Android 虚拟设备)文件解决了该问题。可以从 Android Studio 中删除 AVD。它通常保存在 C:\Users\<userName>\.android\avd

很可能,您还需要执行以下命令。

cd <project_filder> 
cd android
gradlew clean

如果您没有注意到对问题的评论(以上),请查看它们。它们包含更多可能与问题相关的建议。

第一次更新:

解决方案 2:在其他一些情况下,除了删除和重新创建 AVD 之外,我还必须执行以下步骤。

REM 1. Removing cache files
rd %localappdata%\Temp\metro-cache /s /q 
del %localappdata%\Temp\haste-map*

REM 2. Cleaning Gradle files
cd <project_filder> 
cd android & gradlew clean & cd .. 

REM 3. Deleting node_modules
rd node_modules /q /s 

REM 4. Cleaning npm cache
npm cache clean --force 

REM 5. Re-installing npm modules
npm install

第二次更新:

解决方案 3: 在第三个实例中,我必须在文件 <proj-folder>/android/gradle.properties

中添加以下行
org.gradle.jvmargs=-Xmx4608m

答案 1 :(得分:0)

值得注意的是,我在原生(Kotlin)Android 项目中遇到过这种情况。 对我来说,这是由于在我的 resConfigs 中指定了密度:

build.grade (:app)

developLint {
    dimension "version"
    resConfigs "en",  "he-rIL", "iw-rIL", "xxhdpi"
}

(注意上面的 "xxhdpi"

去除密度解决了问题。