我克隆了自己的仓库。在React Native上的项目中,我安装了节点模块,并根据项目的要求设置了Jdk8。然后我使用react-native run-android运行我的项目。告诉我错误
任务:react-native-firebase:compileReleaseJavaWithJavac失败
失败:构建失败,并出现异常。
出了什么问题: 任务':react-native-firebase:compileReleaseJavaWithJavac'的执行失败。
无法使用GradleScopeCompileServices.createGeneralCompileCaches()创建GeneralCompileCaches类型的服务。
尝试: 使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。使用--scan运行以获取完整的见解。
在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版本所有软件包都与所需项目相同。
答案 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.