Actualmente está en uso por otra instancia de Gradle


109

Soy nuevo en el sistema de compilación Gradle. Quiero hacer algunas funciones básicas en él. Lo estoy ejecutando / construyendo en la línea de comandos. Me refiero a la guía del usuario . Y haciendo algunas tareas sencillas.

Cuando comencé a ejecutar tareas simples, se construyó con éxito. Pero, después de algunos momentos, se muestra "It is currently in use by another Gradle instance"y se vuelve BUILD FAILED. Estoy usando una terminal para ejecutar la tarea. No ejecuté nada en ese momento.

Si cerraba la terminal que genera el error, este problema se resolvería. Pero sé que no es la solución para eso.

¿Por qué aparece este error con frecuencia?

¿Cómo resolverlo?

Y, consulte cualquier enlace para mejorar mis conocimientos sobre el sistema Gradle Build en Android.


4
¿Usas gradle en modo daemon por casualidad? Puede verificar ejecutando el comando gradle --stop. Esperaría obtener salida No hay demonios de Gradle en ejecución o el demonio de Gradle se detuvo .
topr

@topr No usé el modo demonio ..
Dhasneem

3
Solución: (Eso funcionó para mí) Paso 1. Inicie el administrador de tareas y busque / verifique que NO haya DOS instancias de java.exe ejecutándose. Paso 2. Simplemente elimine cualquier java.exe o ambos y vuelva a iniciar Android Studio. Enjoy
Lakhwinder Singh Dhillon

Respuestas:


287

Elimine los archivos de bloqueo en la caché de Gradle ejecutando algo como esto:

find ~/.gradle -type f -name "*.lock" -delete

12
¡Gracias! Funcionó después de que también corrí find /path-to-project-dir/.gradle -type f -name "*.lock" | while read f; do rm $f; done
Tyler

4
Hoy volví a esta pregunta, y esta vez necesitaba kill -9un proceso, además de eliminar los archivos de bloqueo. El mensaje en el título de la pregunta fue seguido inmediatamente por el PID: Qué salió mal: Tiempo de espera agotado para bloquear la caché del historial de tareas (,,,). Actualmente está en uso por otra instancia de Gradle. Propietario PID: 4354 Nuestro PID: 9500
Joshua Goldberg

@JoshuaGoldberg ¿Verificó cómo y cuándo se inició el proceso # 4354 antes de matarlo? (Solo tengo curiosidad)
The Night Manager

2
Gracias por compartir ese comando, nunca había tenido ese problema antes y después de eliminar los archivos de bloqueo para gradle, pude ejecutar mi servidor nuevamente. Esto debe marcarse como "Mejor respuesta"
Raúl Rivero

1
@ shashank-chandak en un shell bash (Terminal o Cygwin)
El gerente nocturno

31

A veces, la forma rápida viene en un trato no elegante, ahí vamos:

Busque primero el número de todos los procesos de Gradle que se ejecutan en

ps -A | grep gradle

Después de eso, obtén las identificaciones, mátalos a todos uno por uno

sudo kill -9 <process ID>

Ahora estás bien ;-)


29

Me quedé atascado con este error y tuve que eliminar el contenido de la .gradle/caches/carpeta de mi usuario y el contenido de la .gradle/carpeta de mi proyecto para volver a empezar.

¿No está seguro de qué lo causó, posiblemente una compilación fallida que mantuvo estos archivos en un estado bloqueado?


Este problema se observa aquí - issues.gradle.org/browse/GRADLE-2795 - Si bien existe el error Gradle, creo que esta es la mejor solución.
Joshua Goldberg

3
En realidad, tuve éxito simplemente eliminando ~ / .gradle / caches / * sin tocar el directorio .gradle del proyecto.
Joshua Goldberg

Por suerte para ti @JoshuaGoldberg, pero en mi caso ni siquiera puedo eliminar la carpeta de chaches. ¿Qué podría ser un problema?
costa afuera

Eliminé .gradle / caches / ** y funciona de nuevo. Lo extraño es que solo uso el ./gradlew que no debería usar la versión local de gradle, ¿verdad?
Ben Groot

1
@BenGroot AFAIK todos los demonios de Gradle con la misma versión de Gradle comparten el mismo caché (si no se los obliga explícitamente de otra manera), sin importar desde dónde se hayan iniciado.
ubuntudroid

10

Para la máquina de Windows:

Abra el Administrador de tareas (Ctrl-Alt-Delete y verifique el proceso)

-> Si ejecuta dos instancias de Android Studio, cierre una (Finalizar tarea)

-> Luego cierre OpenJDK Platform Binary

-> Sincronización de Gradle ahora en AndroidStudio y funcionará ahora


7

Esto puede estar sucediendo porque hay más de una instancia de Android Studio.


De acuerdo, abrir el estudio de Android con múltiples ventanas y sincronizar simultáneamente también causó este problema
mochadwi

5

Simplemente elimine el proceso java.exe para solucionar mi problema.

- Editar -

si no se arregla entonces:

  • matar el proceso de OpenJdkPlatform.

si no se arregla entonces:

  • elimine todo el archivo ".lock" del directorio y subdirectorios .gradle (windows: C: \ Users \ Username \ .gradle).

si no se arregla entonces:

  • cambie el nombre o elimine el directorio .gradle y vuelva a intentarlo.

Después de leer su respuesta, eliminé el directorio .gradle y ahora, después de volver a compilar, la aplicación está completamente rota.
diablo rojo

Después de leer su respuesta, eliminé el directorio .gradle y ahora, después de volver a compilar, la aplicación está completamente rota. Los tamaños de fuente han aumentado, el relleno ha aumentado, obteniendo errores de validación aleatorios. ¿Qué puedo hacer ahora?
diablo rojo

1
¿Está seguro de eliminar el directorio .gradle? eliminar .gradle must no tiene ningún efecto secundario en el código de su aplicación. es solo caché de Gradle y si vuelve a compilar su aplicación. gradle descargará los archivos necesarios. prueba una construcción limpia.
Ahmad Dehnavi

3

Ese mensaje de error de Gradle suele ir seguido de los ID de proceso relevantes, por lo que sería

Gradle sync failed: Timeout waiting to lock daemon addresses registry [...].
It is currently in use by another Gradle instance.

Owner PID: 1234
Our PID: 5678
Owner Operation: ...

Para desbloquear, simplemente elimine el proceso del propietario:

sudo kill -9 1234

2

Para el sistema operativo Windows:

Pensé que tenía algo que ver con un archivo de bloqueo, así que simplemente fui a .gradle \ buildOutputCleanup en la carpeta del proyecto y eliminé el archivo cache.properties.lock y reconstruí el proyecto. Funcionaba perfectamente.


2

presione CTRL + SHIFT + ESCpara abrir el administrador de tareas ahora búsquelo OpenJDKy elimínelo, vaya a donde el error apunta a Me gusta

D:\.gradle\daemon\4.10.1\registry.bin.lock

elimina el archivo y vuelve a sincronizar y listo.


1

Tuve el mismo problema en mac:

tenga cuidado de que su proyecto NO esté en un disco duro externo. La ubicación de su proyecto debe estar en el disco duro con su sistema operativo.

(Construyendo una aplicación Ionic)


Parece que en mi caso, el problema también es este. El otro día transferí el proyecto a un disco externo.
DmitryKanunnikoff

1

Al tener el mismo problema en una Mac, nada de lo anterior funcionó para mí. Sin embargo, lo que funcionó fue abrir el Monitor de actividad y cerrar un proceso Java en ejecución. También noté que se generó un archivo .hprof, que eliminé. Después de eso, ejecuté mi proyecto y funcionó.


1

Podría llegar tarde, pero parece una solución rápida y eficaz.

Ejecute los siguientes pasos.

  1. Ejecutar ps -ef | grep gradle
  2. Abra el terminal y vaya a la ruta ~ / .gradle / caches
  3. Ejecutar find ~/.gradle -type f -name "*.lock" | while read f; do rm $f; done

Se hace.


1

Estaba enfrentando el mismo problema en mi proyecto, pero lo resolví invalidando el proyecto, así que siga estos pasos en el archivo de estudio de Android -> Invalidar cachés / reiniciar ...


0

No fue necesario que eliminara ningún archivo para corregir este error.

El problema que tuve es que las instancias de Gradle se habían bloqueado y había 6 entradas de símbolo del sistema en mi lista de tareas que fueron generadas por Java.

Forzar el cierre de las instancias del símbolo del sistema me permitió continuar trabajando como de costumbre.


0

Su trabajo para mí para el problema: -

"Error: Se agotó el tiempo de espera para bloquear los frascos. Está actualmente en uso por otra instancia de Gradle. PID del propietario: 6896 Nuestro PID: 5048 Operación del propietario: Nuestra operación: Bloquear"

Solución:-

  1. cierre Android Studio y abra el administrador de tareas y finalice el proceso java.exe
  2. abra el directorio ... gradle \ caches.
  3. Elimina el archivo jar2.lock.
  4. Abra Android Studion y limpie el proyecto.

0

He probado todas estas respuestas, incluido el proceso de eliminación de Java, eliminar .gradle en HOME_DIR y en el directorio del proyecto, reiniciar Android Studio e incluso reiniciar el sistema operativo.

Comenzó a funcionar normalmente solo después de que inicié la sincronización de Gradle.


0

Solución muy sencilla:

no es necesario matar Android Studio, solo Kill OpenJdkPlatformprocess, luego elimine el .lockarchivo ubicado en:

rootProject/.gradle/<version>/taskHistory

0

Si bien la eliminación del proceso y / o la eliminación del archivo de bloqueo funciona, Gradle debería poder manejar esto por sí solo, resolviendo el problema de forma permanente . Este informe de problemas sugiere la solución: Gradle no se puede comunicar con el servicio de Gradle.

Eche un vistazo a su firewall de red local. En mi caso,

  • permitiendo el tráfico saliente de 127.0.0.1 a 127.0.0.1,

    sudo iptables -A OUTPUT -p udp -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
    
  • permitiendo el tráfico entrante de 127.0.0.1

    sudo iptables -A INPUT -s 127.0.0.1 -p udp -j ACCEPT
    

resuelto el problema. Una discusión sobre un problema similar en github .

Y, consulte cualquier enlace para mejorar mis conocimientos sobre el sistema Gradle Build en Android.

El curso gradle de udacity , si tienes tiempo.


0

abra el terminal y muévase a la ruta del proyecto y luego ejecute según el sistema operativo: gradlew clean o ./gradlew clean


0

Estaba enfrentando el mismo problema. Pero lo resolví simplemente reiniciando mi estudio de Android. Estoy usando OneDrive para guardar mi proyecto.


0

Tuve el mismo problema e hice dos pasos y se resolvió.

  1. Mi JDK no estaba instalado en Mac (olvidé instalarlo) lo instalé.
  2. Eliminé todos los elementos de la carpeta de cachés ubicada en esta ruta /Users/icon_developer/.gradle/ y reconstruí el proyecto. ¡Funcionó!

0

todos finalmente, tengo una solución completa

Error :- Timeout Gradle cashe its running in other gradle


distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

Please add this Line in Wrapper.Propertis and Sync now
After Sync the project When 
Invalidthcast\restart   to get the requesting componants

0

Estaba demasiado atascado con lo mismo. Pero se solucionó pronto. Simplemente borre el archivo:

D:\.gradle\daemon\6.1.1\registry.bin.lock

Además, terminé OpenJDK desde el administrador de tareas. Idk ayudó o no, pero ambos resolvieron el problema.


0

En mi caso, simplemente cerré el Android Studio y lo volví a abrir, el problema se resolvió.


0

Para resolver este problema en Windows

  1. Ir al administrador de tareas
  2. Busque el PID del propietario en "detalles" del administrador de tareas
  3. Termina la tarea

0

Para mí, en una Mac, seleccione Fileen la parte superior, luego elija Invalidate Caches / Restart...hecho el truco.

¡Una solución simple y agradable si también funciona para ti!

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.