【问题标题】:Why do I get “file is used by another process” errors when I run the project within Android Studio 3.6.1?为什么我在 Android Studio 3.6.1 中运行项目时出现“文件被另一个进程使用”错误?
【发布时间】:2020-03-05 14:33:06
【问题描述】:

我在第二次运行项目后遇到此错误。

...\app\build\intermediates\compile_and_runtime_not_namespaced_r_class_jar\debug\R.jar:该进程无法访问该文件,因为它正在被另一个进程使用

到目前为止Clean project工作一次,重启Android Studio工作一次,最后的办法是重启电脑(运行windows 10)。

欢迎提出建议!

【问题讨论】:

  • 我也面临同样的问题。我关闭工作室并从路径中删除文件 R.jar 并重新启动工作室。我没有找到任何完美的解决方案。令人头疼的是我的项目通常需要 5 分钟才能完成 gradle 同步,因此删除文件并重新启动工作室需要 10 分钟,而我每天面临 2-3 次这个问题。
  • 相关herehere

标签: android


【解决方案1】:

可以在这里找到一些解决方法Error: Execution failed for task ':app:clean'. Unable to delete file

发生这种情况时,我在 cmd (windows 10) 中使用taskkill /im java.exe /f。它会杀死所有 java 进程并释放该文件。这不是最好的解决方案,但点击.bat 文件而不是使整个缓存|重新启动|清理|等无效。

我从OpenJDK 切换到Oracle JDK,不确定这是否适用于OpenJDK


另一种解决方法是停止使用 gradle 的守护进程:https://docs.gradle.org/current/userguide/gradle_daemon.html

禁用守护进程

您可以使用--no-daemon 参数为特定构建禁用守护程序,或通过在项目的gradle.properties 文件中显式设置org.gradle.daemon=false 为特定项目禁用它。

【讨论】:

  • 这对我来说很好用,谢谢很多
【解决方案2】:

在文件资源管理器中手动删除 R.jar 文件,然后按重建。

系统(Android Studio Gradle 或其他调试进程)可能会自动使用它,即使您没有要求它构建和(自动)进程块您使用它的第二个构建过程。

让我知道这是否可行,显然,Android Studio 4.0.1 也有类似的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多