任务:react-native-firebase:compileReleaseJavaWithJavac FAILED

时间:2019-06-12 17:12:38

标签: android react-native gradle firebase-realtime-database build.gradle

我克隆了自己的仓库。在React Native上的项目中,我安装了节点模块,并根据项目的要求设置了Jdk8。然后我使用react-native run-android运行我的项目。告诉我错误

  

任务:react-native-firebase:compileReleaseJavaWithJavac失败

失败:构建失败,并出现异常。

  • 出了什么问题: 任务':react-native-firebase:compileReleaseJavaWithJavac'的执行失败。

      

    无法使用GradleScopeCompileServices.createGeneralCompileCaches()创建GeneralCompileCaches类型的服务。

  • 尝试: 使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。使用--scan运行以获取完整的见解。

  • https://help.gradle.org

  • 获得更多帮助

在1m 3s内失败 13个可执行的任务:2个已执行,11个最新 无法在设备上安装该应用,请阅读上面的错误以获取详细信息。 确保您正在运行Android模拟器或已连接设备,并且 设置您的Android开发环境: https://facebook.github.io/react-native/docs/getting-started.html

命令失败:./gradlew installDebug

错误:命令失败:./gradlew installDebug     在checkExecSyncError(child_process.js:601:13)     在Object.execFileSync(child_process.js:621:13)     在runOnAllDevices(/Volumes/Transcend/Emjoy/admin_panel_app_emjoy/node_modules/react-native/local-cli/runAndroid/runAndroid.js:299:19)     在buildAndRun(/Volumes/Transcend/Emjoy/admin_panel_app_emjoy/node_modules/react-native/local-cli/runAndroid/runAndroid.js:135:12)     在isPackagerRunning.then.result(/Volumes/Transcend/Emjoy/admin_panel_app_emjoy/node_modules/react-native/local-cli/runAndroid/runAndroid.js:65:12)     在     在process._tickCallback(internal / process / next_tick.js:188:7)

我的react-native,react-native-cli,react-native-firebase版本所有软件包都与所需项目相同。

5 个答案:

答案 0 :(得分:0)

如果您使用的是React-Native 0.60+,请确保使用。

npx jetify

从项目根目录开始。

答案 1 :(得分:0)

这是一个非常荒谬的问题,因为它希望安装喷射器,因此会响应本机0.60+的像素。

所以我首先安装了jetifier来解决它,可以使用yarn或npm。

yarn add jetifier 

npm jetifier 

然后您应该执行npx jetify

答案 2 :(得分:0)

作为其他针对本机0.60+的答案,您应该安装了喷射器

    npm jetifier

我在我的package.json中将其设置为安装后脚本,因此每次npm安装完成时都会完成此操作。

     "postinstall": "npx jetify"

此外,在您的app / build.gradle中确保您拥有

def jscFlavor = 'org.webkit:android-jsc:+'

def enableHermes = project.ext.react.get("enableHermes", false);

dependencies {
    ...

    if (enableHermes) {
        // for RN 0.60.x
        def hermesPath = "../../node_modules/hermesvm/android/"


        debugImplementation files(hermesPath + "hermes-debug.aar")
        releaseImplementation files(hermesPath + "hermes-release.aar")
    } else {
        implementation jscFlavor
    }
}

答案 3 :(得分:0)

可能是一个较晚的答案,但今天我遇到了同样的错误,这就是我的解决方法

在运行./gradlew assembleRelease之前,您需要运行npx jetify

以上命令将android.support.v4.app.* package转换为androidx.core.app.*,这有助于编译。

答案 4 :(得分:0)

下面的命令简单易用。在react-native项目中启用jetifier。

1. npm install --save-dev jetifier/yarn add --dev jetifier

2. npx jetify/yarn run jetify

3. npx react-native run-android.