w:在 build/kotlin/sessions 处检测到多个 Kotlin 守护进程会话

w: Detected multiple Kotlin daemon sessions at build/kotlin/sessions

执行./gradlew assembleRelease并遇到这个问题。下面显示了整个错误日志...

> Task :app:mergeDexRelease FAILED
java.nio.file.NoSuchFileException: /Users/path/Desktop/project/android/app/build/intermediates/external_file_lib_dex_archives/release/out
        at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
        at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
        at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
        at java.base/sun.nio.fs.UnixFileSystemProvider.newDirectoryStream(UnixFileSystemProvider.java:412)
        at java.base/java.nio.file.Files.newDirectoryStream(Files.java:472)
        at java.base/java.nio.file.Files.list(Files.java:3699)
        at com.android.build.gradle.internal.tasks.DexMergingParams.getAllDexFiles(DexMergingTask.kt:502)
        at com.android.build.gradle.internal.tasks.DexMergingTaskRunnable.run(DexMergingTask.kt:423)
        at com.android.build.gradle.internal.tasks.Workers$ActionFacade.run(Workers.kt:335)
        at org.gradle.workers.internal.AdapterWorkAction.execute(AdapterWorkAction.java:57)
        at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
        at org.gradle.workers.internal.NoIsolationWorkerFactory.create(NoIsolationWorkerFactory.java:66)
        at org.gradle.workers.internal.NoIsolationWorkerFactory.create(NoIsolationWorkerFactory.java:62)
        at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:98)
        at org.gradle.workers.internal.NoIsolationWorkerFactory.lambda$execute[=11=](NoIsolationWorkerFactory.java:62)
        at org.gradle.workers.internal.AbstractWorker.call(AbstractWorker.java:44)
        at org.gradle.workers.internal.AbstractWorker.call(AbstractWorker.java:41)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:165)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
        at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
        at org.gradle.workers.internal.NoIsolationWorkerFactory.execute(NoIsolationWorkerFactory.java:59)
        at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork(DefaultWorkerExecutor.java:198)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:215)
        at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:164)
        at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:131)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.ManagedExecutorImpl.run(ManagedExecutorImpl.java:48)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
        at java.base/java.lang.Thread.run(Thread.java:834)

w: Detected multiple Kotlin daemon sessions at build/kotlin/sessions

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeDexRelease'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > java.nio.file.NoSuchFileException: /Users/path/Desktop/project/android/app/build/intermediates/external_file_lib_dex_archives/release/out

一些故事

在调试这个“多Koltin”问题的过程中,我发现我的NDK没有安装。因此我去了 SDK Manager 并安装了 NDK (Side by side)。然后出现toolchain的问题,如下图

No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi

已通过下载较旧的 NDK 版本 android-ndk-r19c 并在我的 local.properties.

中指向 NDK 路径来完成修复

Local.properties

sdk.dir=/Users/path/Library/Android/sdk
ndk.dir=/Users/path/Library/Android/android-ndk-r19c

TLDR

我试过的

  1. ./gradlew clean && ./gradlew assembleRelease
  2. 附加以下代码 + 步骤 1
# FILE 1: Gradle.properties
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

# FILE 2: app/build.gradle ( under android{} )
dexOptions {
        incremental true
        javaMaxHeapSize "4g"
}

我的项目环境

react: 16.13.1 => 16.13.1 
react-native: 0.63.2 => 0.63.2

我的项目结构

知道是什么原因导致了这个问题以及如何解决这个问题吗?

难以置信的修复,似乎是一个 63.x 问题?因为从 62.2 升级到 63.3

后有 another person having this issue

已按照建议完成修复here

Solved this issue by deleting the .gradle folder from /android and again run npm run android, and it solved this error.

为我解决此错误的方法是 在任务管理器中杀死所有 运行 Java 进程

我的代码中有一个实际错误,它导致了悬空进程,所以我只收到了这个错误,而不是与该错误相关的错误。

终止所有进程和 运行 通常的 gradle 清理后,我得到了正确的错误消息,我可以进一步处理。

Kotlin gradle 1.1.2 中的编译有些问题

https://discuss.kotlinlang.org/t/kotlin-gradle-compilation-is-kind-of-borken-in-1-1-2/2527

添加: kotlin.incremental=假 到您的 gradle.properties 文件以禁用增量构建。

仅删除 .gradle 文件夹并没有解决我的问题。

但是在按照建议在 android 文件夹中执行 ./gradlew clean 之后 here 我又回到了正轨

我用这个解决方案解决了这个问题。

在gradle.properties中添加以下代码

org.gradle.daemon=true
org.gradle.configureondemand=true
org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

此外,将这些行插入 app/build。gradle

android{

    dexOptions {
       javaMaxHeapSize "3g"
    }
}

进行这些更改后 运行 .\gradle clean.\gradle assembleRelease

我在 rn 0.67.2 上遇到了同样的问题我尝试了所有提到的选项 here 没有解决,最后我删除了所有 java_pid[XXXX].hprof in android文件夹然后一切正常

我用的是 React Native 0.67.4 我遵循了这些代码:

cd android
./gradlew clean
cd ..

运行多次执行此命令:

react-native run-android

这很荒谬,但 react-native-maps 包可能是导致此错误的原因。当我 运行 react-native run-android 第二次对我有用时,但在另一个 post 我读过我们应该它 5-6 次

只是重启! 它适用于我的情况

只需从您的主目录中删除隐藏文件夹 .gradle,然后使用 ./gradlew clean 清理您的 android 项目并删除您的 node_modules 和 re-install你的依赖。

我试图在这里更详细地回答这个问题:Multiple Kotlin Daemon Session Error

我也遇到这个错误。按照以下步骤解决此问题的更简单方法:

第 1 步:Terminate/close 运行ning npm。

第 2 步:现在转到项目并通过 运行 执行此命令

清理项目

-- 对于android --

cd android &&./gradlew clean && cd ../

-- 对于ios --

cd ios && xcodebuild clean && cd ../

第 3 步:转到 android 文件夹并 删除 .gradle文件夹

第 4 步:现在 运行 使用这些命令 运行 android 命令

npm run android

npx react-native run-android

如果你想构建一个发布 apk 文件然后 运行 这个命令

npx react-native run-android --variant=release

或者要获取 aab 文件 运行

cd android &&./gradlew bundleRelease && cd ../

如果您仍然遇到相同的错误,请关闭终端或重新启动笔记本电脑,然后再次执行相同的步骤

似乎 运行 ./gradlew -stop inside android 文件夹对我有用