tools - install gradle android studio
La compilación de Android Studio falla con "Tarea" no encontrada en el proyecto raíz "MyProject". " (17)
Problema
"[module_name]:prepareDebugUnitTestDependencies" task not found
error de la "[module_name]:prepareDebugUnitTestDependencies" task not found
, cada vez que ejecuté gradle build. Esto me pasó después de actualizar mi Android Studio a 3.0.0.
Investigación
Anteriormente había agregado opciones de línea de comandos al compilador basado en gradle, que puede encontrar en: Archivo -> Configuración -> Compilación, Ejecución, Implementación -> Compilador -> Opciones de línea de comandos . Específicamente, había excluido una serie de tareas, incluida la tarea antes mencionada. Si bien funcionó bien en la versión estable anterior (2.3 en ese momento), parece que esta fue la razón detrás de la falla de compilación.
Solución
Esta es una de las muchas soluciones posibles. Asegúrese de tener las opciones correctas de línea de comandos especificadas en la configuración en: Archivo -> Configuración -> Compilación, Ejecución, Despliegue -> Compilador -> Opciones de línea de comandos , y que ninguna de ellas está causando este problema.
En mi caso, eliminé la exclusión de esta tarea (y otras tareas que parecían relacionadas), dejé las tareas no relacionadas excluidas, ¡y funcionó!
Recibo este error al intentar crear mi proyecto después de cambiar la computadora portátil y actualizar a Android Studio versión 0.8.2.
FALLO: la compilación falló con una excepción.
Qué salió mal: Tarea '''' no encontrada en el proyecto raíz ''MyProject''.
Pruebe: ejecute las tareas de gradle para obtener una lista de tareas disponibles. Ejecutar con la opción --stacktrace para obtener el seguimiento de la pila. Ejecutar con la opción --info o --debug para obtener más resultados de registro.
CONSTRUCCIÓN FALLIDA
Aquí están mis archivos de Gradle:
Nivel superior settings.gradle
include '':MyProject''
build.gradle en MyProject:
apply plugin: ''com.android.application''
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath "com.android.tools.build:gradle:0.12.+"
}
}
repositories {
mavenCentral()
}
android {
compileSdkVersion 20
buildToolsVersion "20"
defaultConfig {
minSdkVersion 14
targetSdkVersion 20
}
}
dependencies {
compile ''de.timroes.android:EnhancedListView:0.3.0@aar''
compile ''com.nineoldandroids:library:2.4.0''
}
El build.gradle de nivel superior está vacío
- Abrir símbolo del comando
- luego vaya a la carpeta del proyecto a través del símbolo del sistema
- Escriba gradlew build y run
A veces, si ha abierto dos ventanas de Android Studio, y cuando intenta compilar, este problema puede ocurrir. Para mí, cuando estaba compilando un módulo de Google Cloud Endpoint respaldado que no estaba integrado en un proyecto, más bien compartido entre diferentes proyectos de Android Studio, y cuando hay más de una instancia abierta, este error solía surgir para mí. Pero tan pronto como cierre otras ventanas, todo estará bien. En ocasiones, es posible que tengas que reiniciar Android Studio por completo.
Al parecer, este problema causado por Android Studio en las diversas situaciones, pero la razón es el error de compilación Al importar un proyecto existente en el estudio de Android.
En mi caso, importé mi proyecto existente donde se suponía que debía instalar algunas herramientas de compilación y, finalmente, la configuración de compilación se realizó con error. En este caso, solo haz las siguientes cosas
- Cierre el proyecto actual
- Archivo> Nuevo> Importar proyecto (No usar el proyecto reciente abierto)
Nota: estoy seguro de que este tipo de error no está en el código fuente cuando esto sucedió en el proyecto Importar .
Aparentemente este error tiene múltiples causas. Esto es lo que lo solucionó.
Estaba ejecutando el comando de compilación de esta manera:
./gradlew :testapp: build
Ejecutarlo sin el espacio solucionó el problema:
./gradlew :testapp:build
Asegúrese de tener los últimos valores en sus archivos gradle. A partir de este escrito:
buildToolsVersion "21.1.2"
dependencias {classpath ''com.android.tools.build:gradle:1.1.0''}
Aunque tardó en responder, esta es una pregunta difícil para Google (las comillas simples) y no está claro qué está sucediendo. Todavía no tengo la reputación para comentar o solicitar alcance (o publicar 3 enlaces), por lo que esta respuesta puede ser un poco tediosa.
Para responder rápidamente, puede tener múltiples complementos de Gradle en su proyecto.
Sincronizar Gradle Wrapper y complementos
Mi problema parecía comenzar con un archivo IML dañado. Android Studio (entre el cierre y la reapertura de un proyecto) comenzó a quejarse de que un IML había desaparecido (no lo era) y se debió eliminar un módulo, que rechacé. Persistió, me actualicé a AS 0.8.7 (canal canario) y me quedé atrapado en el problema OP (Tarea '''' no encontrada en el proyecto raíz). Esto bloqueó completamente las construcciones, así que tuve que cavar en Gradle.
Mis pasos de reparación en OSX (ajuste para Windows):
- Actualiza Android Studio a 0.8.7
- Preferencias | Actualizaciones | Cambia "Beta Channel" a "Canary Channel", luego haz un Check Now.
- Es posible que puedas omitir esto.
Comprueba el contenedor de Gradle (actualmente 1.12.2; no intentes usar 2.0 en este momento).
Suponiendo que no necesita una versión en particular, use la última distribución compatible
$ vi ~/project/gradle-wrapper.properties ... distributionUrl=http/://services.gradle.org/distributions/gradle-1.12-all.zip
Esto se puede establecer en Android Studio en Preferencias | Gradle (pero 0.8.7 me estaba dando errores de ''ubicación no válida'').
- El ''envoltorio'' es solo una copia de Gradle para cada proyecto de Android Studio. Le permite tener Gradle 2 en su sistema operativo y diferentes versiones en sus proyectos. El desarrollador de Android explica eso here .
- Luego ajuste sus archivos build.gradle para el complemento . La versión del complemento de Gradle debe ser compatible con la versión de distribución / envoltura para todo el proyecto. Como la documentación de Herramientas (tools.android.com/tech-docs/new-build-system/user-guide#TOC-Requirements) está un poco desactualizada, puede configurar la versión del complemento demasiado baja (como 0.8.0) y Android Studio lanzará un error con el rango aceptable para el contenedor.
Ejemplo, en build.gradle, tienes este complemento:
dependencies {
classpath "com.android.tools.build:gradle:0.12.+"
}
Puedes intentar cambiarlo a la versión exacta, así:
dependencies {
classpath "com.android.tools.build:gradle:0.12.2"
}
y (después de registrar de qué versión está cambiando en cada caso) verificando que cada archivo build.gradle en su proyecto obtenga la misma versión de complemento. Mantener el "+" debería funcionar (para 0.12.0, 0.12.1, 0.12.2, etc.), pero mi construcción tuvo éxito cuando actualicé la biblioteca Volley de Google (originalmente gradle: 0.8. +) Y mi proyecto principal (originalmente 0.12. +) a la versión fija: gradle: 0.12.2.
Otras verificaciones
Asegúrese de que no tiene dos módulos de aplicaciones de Android en el mismo proyecto
Esto puede interactuar con la solución final (diferentes versiones de Gradle, arriba) y causar
UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define (various classes)
Para verificar, compilar | Make Project no debe abrir una ventana que pregunte qué aplicación desea hacer.
- Invalidar tus cachés
- Archivo | Invalidar cachés / reiniciar (.com/a/19223269/513413)
- Si el paso 2 no funciona, elimine ~ / .gradle / (www.wuttech.com/index.php/tag/groovy-lang-closure/)
- Salga de Android Studio
- $ rm -rf ~ / .gradle /
- Inicia Android Studio, luego sincroniza:
- Herramientas | Android | Sincronizar proyecto con archivos Gradle
- Repita esta secuencia completa (salir ... sincronizar) varias veces antes de darse por vencido.
- Limpia el proyecto
- Construir | Proyecto limpio
Si ves esto ...
En mis compilaciones recientes, seguí viendo fallos horribles (páginas de excepciones) pero en cuestión de segundos los mensajes se borrarían, se crearía correctamente y se implementaría la aplicación. Como nunca pude explicarlo y la aplicación funcionó, nunca me di cuenta de que tenía dos complementos de Gradle en mi proyecto. Así que creo que los plugins de Gradle se peleaban entre sí; uno se estrelló, el otro perdió su estado e informó el error.
Si tiene tiempo, el video de 1 hora "Una introducción suave a Gradle" (www.youtube.com/watch?v=OFUEb7pLLXw) realmente me ayudó a acercarme a los archivos de compilación de Gradle, las tareas, las decisiones de construcción, etc.
Renuncia
Estoy aprendiendo toda esta pila, en un sistema operativo extranjero, después de trabajar en una carrera diferente ... todo al mismo tiempo y bajo presión. En los últimos meses he golpeado cada pared que creo que tiene Android; He estado aquí bastante seguido y esta es mi primera publicación. Pensé que era una solución difícil, por lo que me disculpo sinceramente si la calidad de mi respuesta refleja la dificultad que tuve para llegar a ella.
En mi caso, establecer la ''versión de Gradle'' igual que la ''versión de complemento de Android'' en Archivo-> Estructura de proyecto-> Proyecto solucionó el problema para mí.
Establezca la ruta de la carpeta raíz y luego ejecute el comando siguiente
ex : cd C:/Users/maha/Documents/gradle/gs-gradle-master/initial
Esto es lo que hice
Retire la carpeta .idea
$ mv .idea .idea.bak
Importar el proyecto nuevamente
Esto me sucedió recientemente cuando cierro un proyecto de Android Studio e importé otro proyecto de Eclipse. Parecía ser un error en Android Studio, donde conserva algunas configuraciones de gradle del proyecto abierto anteriormente y luego se confunde en el nuevo proyecto.
La solución fue extremadamente simple: cerrar el proyecto y cerrar por completo Android Studio, antes de volver a abrirlo y luego importar / abrir el nuevo proyecto. Todo va bien desde entonces.
Obtuve este error al cambiar de una rama de Git a otra y luego intento ejecutar "Limpiar proyecto". ack
para buscar el nombre de la tarea y lo encontré en un archivo .iml.
Mi solución fue regenerar el archivo .iml del proyecto haciendo clic en (en el menú principal) Herramientas> Android> Proyecto de sincronización con archivos Gradle. ( Gracias a esta respuesta )
Otra solución más para el mismo problema:
Esto me sucedió cada vez que importé un proyecto de eclipse al estudio usando el asistente (versión de estudio 1.3.2).
Lo que descubrí, por pura casualidad, fue que dejar el estudio de Android y reiniciar el estudio nuevamente hizo que el problema desapareciera.
Frustrante, pero espero que esto ayude a alguien ...
Retirar:
<facet type="android" name="Android">
<configuration />
</facet>
en tu archivo iml Funciona para mi.
Una solución simple para mí fue
- Build> Clean project
- Reinicie Android Studio
.gradle
/ Cambie el nombre de la carpeta .gradle
en c:/users/Myuser/.gradle
y reinicie Android Studio y funcionó para mí
Descargue la imagen del sistema (del nivel de Android objetivo de su proyecto) desde el administrador de SDK para el proyecto que ha importado.
Este error se produce cuando no tiene sdk de destino de su proyecto de Android instalado en la carpeta sdk
por ej. El nivel sdk de destino de su proyecto importado puede ser android-19 y en la carpeta sdk-> system-images puede tener instalado android-21. entonces tiene que descargar la imagen del sistema android-19 y otros archivos del administrador de sdk o puede copiar y pegar si tiene la imagen del sistema.