使用gradle构建android应用程序时遇到问题,这是构建它时遇到的错误;
Caused by: java.io.IOException: Unable to lock usage tracking spool file
at com.android.tools.analytics.JournalingUsageTracker.newTrackFile(JournalingUsageTracker.java:98)
at com.android.tools.analytics.JournalingUsageTracker.<init>(JournalingUsageTracker.java:78)
... 121 more
Caused by: java.nio.channels.OverlappingFileLockException
at com.android.tools.analytics.JournalingUsageTracker.newTrackFile(JournalingUsageTracker.java:95)
... 122 more
以下是我的gradle详细信息:https://pastebin.com/6v0dk5in
./gradlew --version
------------------------------------------------------------
Gradle 4.3.1
------------------------------------------------------------
Build time: 2017-11-08 08:59:45 UTC
Revision: e4f4804807ef7c2829da51877861ff06e07e006d
Groovy: 2.4.12
Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM: 1.8.0_66 (Oracle Corporation 25.66-b17)
OS: Mac OS X 10.11 x86_64
答案 0 :(得分:1)
杀死java进程并重新构建修复它但你必须在每次构建时都这样做。
os x el capitan 10.11(15A284)
https://github.com/gradle/gradle/issues/937
https://docs.gradle.org/current/userguide/gradle_daemon.html
答案 1 :(得分:0)
我发现了另外两个有用的Stackoverflow线程:
在这种情况下的问题是Gradle Daemon持有文件锁并且后续构建失败。 Gradle问题提供了更可持续的解决方法:
Gradle daemon locks files by leaving file handles open
通过将
来停用该守护程序org.gradle.daemon=false
添加到gradle.properties
如何禁用Gradle build in the documentation
还有很多其他变体通过避免重新启动JVM并重新加载Gradle jar,以及通过缓存信息,Gradle守护程序可以更快地进行构建。