Configuración de Android Studio Gradle con el nombre 'predeterminado' no encontrado

181

Tengo problemas para compilar mi aplicación con Android Studio (0.1.5). La aplicación utiliza 2 bibliotecas que he incluido de la siguiente manera:

settings.gradle

include ':myapp',':library',':android-ColorPickerPreference'

build.gradle

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}
apply plugin: 'android'

dependencies {
    compile files('libs/android-support-v4.jar')
    compile project(':library')
    compile project(':android-ColorPickerPreference')

}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}

Al compilar me sale este mensaje:

  Gradle: A problem occurred configuring project ':myapp'.
   > Failed to notify project evaluation listener.
   > Configuration with name 'default' not found.

¿Podrías ayudarme con este mensaje? ¡Gracias!

Gyonder
fuente
55
¿Los proyectos de la biblioteca declarados en settings.gradle han configurado correctamente los archivos build.gradle en las raíces del proyecto? también: library y: android-ColorPickerPreference deben estar en directorios al mismo nivel en su estructura de directorios que su archivo settings.gradle?
speedynomads
Este problema ocurrió conmigo cuando no tenía un archivo build.gradle en uno de mis proyectos de biblioteca. La creación de este archivo hizo que el error desapareciera.
IgorGanapolsky
En mi caso, falta uno de mis archivos de configuración de Gradle. No está correctamente insertado.
Zar E Ahmer
¿Cómo crear el archivo gradle.build ... también estoy enfrentando el mismo problema?

Respuestas:

82

En mi caso, después de compilar con gradle tasks --info, el registro estaba allí:

Evaluación del proyecto ': bibliotecas: VolleyLibrary' utilizando un archivo de compilación vacío.

Por lo tanto, no pudo encontrar el archivo build.gradle de la biblioteca. La razón es la estructura de la carpeta.

Era

-libraries
--volley
---VolleyLibrary

Se supone que es

-libraries
--VolleyLibrary
Guydemossyrock
fuente
¿Cómo lo hiciste para evaluar ': bibliotecas: VolleyLibrary'? ¿Cómo se ve esa línea en su archivo build.gradle?
IgorGanapolsky
dependencias {compilar ': bibliotecas: VolleyLibrary'} Debería ser algo así y nada más.
guydemossyrock
1
De acuerdo con su ejemplo de código anterior: las bibliotecas deben estar en mayúsculas.
IgorGanapolsky
3
¿Cómo compilas con "gradle task --info"?
toddmo
8
./gradlew tasks --infoEsto mostrará la información de todas las tareas. Creo que esto sería útil para descubrir qué está yendo mal.
srain
60

Olvidé tirar de todos los submódulos. Así que mi

compile project(':something')

No se pudo resolver.

Solución

git submodule update --init
pasivo
fuente
2
Explique en qué carpeta debo ejecutar este comando - carpeta de proyecto o carpeta de submódulo
Ajith Memana
1
esta debe ser aceptada respuesta. mensaje de error engañoso en la mayoría de los casos significa que olvidó clonar submódulos
vigilante
1
En mi caso, olvidé eliminar el submódulo del archivo settings.gradle. ¡Así que ten cuidado! : D
Yaroslav Havrylovych
20
compile fileTree(dir: '//you libraries location//', include: ['android-ColorPickerPreference'])

Use la línea anterior en el archivo gradle de su aplicación en lugar de

compile project(':android-ColorPickerPreference')

Espero eso ayude

Lokesh Kumar
fuente
19

El siguiente procedimiento resolvió mi problema:

  • Vaya a la configuración de su módulo de subproyecto / módulo de biblioteca. (prensaF4 después de seleccionar el módulo)
  • Haga clic derecho en Agregar> Android-Gradle .
  • Agregue build.gradle a su módulo.
  • Agregue el siguiente script

    buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
     }
    
    
      apply plugin: 'android-library'
    
    repositories {
    mavenCentral()
    }
    
    android {
    compileSdkVersion 18
    buildToolsVersion "18.1.0"
    
    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 18
    }
    
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    
    }
       } 
    1. agregue include ':yourModuleName'en su configuración.gradle
Ahmad Ali Nasir
fuente
Cuando selecciono la configuración del módulo de proyecto de la biblioteca no es una opción y f4 no hace nada.
Daniel Baughman
1
@DanielBaughman aclare su consulta, pero en caso de que aún no pueda encontrar la configuración del módulo, puede hacer 2 cosas: 1) Vaya a Archivo> Importar módulo y siga los pasos, Android Studio agregará automáticamente el archivo build.gradle y También agregue las dependencias. 2) Agregue manualmente el archivo build.grade, escriba el script y su problema se resolverá.
Ahmad Ali Nasir
1
Gracias por tu ayuda. Lo que había hecho es poner la carpeta que estaba importando en el proyecto: importé el módulo y luego, en las propiedades de mi proyecto, hice referencia al módulo de origen al que había apuntado para importarlo como la biblioteca en lugar de la nueva carpeta del módulo que creó. Ajusté esa referencia y la arregló.
Daniel Baughman
12

También me he enfrentado a este error: olvidé crear el script build.gradle para el proyecto de biblioteca.

Viacheslav
fuente
10

Otra causa más: estaba tratando de incluir un módulo en settings.gradle usando

include ':MyModule'
project(':MyModule').projectDir = new File(settingsDir, '../../MyModule')

El único problema era que acababa de importar el módulo de Eclipse y olvidé mover el directorio fuera del proyecto de mi aplicación, es decir, la ruta '../../MyModule'no existía.

Magnus W
fuente
Este fue más o menos mi problema también. Tenía uno demasiado ../en el camino y no apuntaba al lugar correcto. Esto es especialmente difícil de rastrear porque Android Studio / Gradle creará el directorio si no existe. En lugar de lanzar un simple error diciendo "No".
Joshua Pinter
7

Mi solución es simplemente eliminar una línea del archivo settings.gradle, que representa un módulo que no existe:

include ':somesdk'

y también elimine la línea correspondiente del proyecto principal build.gradle:

compile project(':somesdk')
Yisu Zhang
fuente
6

Tuve un problema de submódulo git al obtener este error. Intente ejecutar gradle tasks --infopara obtener una descripción más detallada del problema. La utilicé por primera vez gradle tasks --debug, lo que no fue tan útil como --info.

Heinrisch
fuente
5

Suponga que desea agregar una biblioteca (por ejemplo, MyLib) a su proyecto. Debe seguir estos pasos:

  1. Prepare su biblioteca como una biblioteca de Android gradle si el tipo de su biblioteca es Eclipse ADT
    Para este trabajo es suficiente importarlo en Android Studio
  2. Copie la carpeta de su biblioteca, en este caso la carpeta MyLib, y péguela en la carpeta principal del proyecto. Es una buena práctica crear una nueva carpeta en su carpeta principal del proyecto y nombrarla Bibliotecas
  3. Vaya a Android Studio y abra el archivo Settings.gradle , allí debe incluir su biblioteca en su proyecto principal. Por ejemplo include ':MyPrj', 'Libraries:MyLib'. Nota : El directorio actual para esta declaración de inclusión es su carpeta principal del proyecto. Si pega su proyecto en una carpeta, debe mencionar su dirección relativa al directorio principal del proyecto. En mi caso, pego MyLib en la carpeta Bibliotecas . El nombre de esta biblioteca no es una palabra clave y puede elegir otros nombres
  4. Abra su página de Estructura del proyecto ( Archivo-> Estructura del proyecto ... ) haga clic en los módulos, luego haga clic en su proyecto principal, vaya a la pestaña de dependencias, haga clic en y +luego elija Dependencia del módulo y allí están sus bibliotecas y puede seleccionarlas como desee

Espero que ayude

frogatto
fuente
para ser claro, vaya al proyecto sliding-menu github github.com/jfeinstein10/SlidingMenu/tree/master/library y verifique su estructura. Hay un viejo formato de proyecto de Android +build.gradle file !! Gracias, @ABFORCE +1
deadfish
Esta publicación me ayudó a importar OpenCV4Android en Android Studio, por lo que responderé por este método.
Craig
5

En mi caso, estaba usando archivos Gradle que funcionan en Windows pero fallaron en Linux. Los include ':SomeProject'y compile project(':SomeProject')fueron sensibles a mayúsculas y no se encontraron.

robUx4
fuente
4

Para mí faltaba la carpeta que se declaró en settings.gradle .

Steve Ham
fuente
3

Todo se ve bien a primera vista, pero algunos hurgando aquí encontraron una respuesta que podría ser útil: https://stackoverflow.com/a/16905808/7944

Incluso el escritor original de respuestas no suena súper seguro, pero vale la pena seguirlo. Además, no dijiste nada sobre la estructura de tu directorio, así que supongo que es algo aburrido por defecto, pero no puedo estar seguro.

Josh Gagnon
fuente
2

Otra posible causa de este error preciso: descubrí que este error se resolvió comentando algunas bibliotecas no utilizadas en la sección de dependencias build.gradle. Asegúrese de que estos caminos y demás sean correctos.

Miraría muy de cerca la entrada de su proyecto de compilación (': android-ColorPickerPreference') en build.gradle: intente comentar el código relacionado y esta línea en build.gradle y ver si eso compila, luego vaya desde allí resolviendo el problema de ruta o biblioteca.

RoundSparrow hilltx
fuente
2

Tuve un problema similar y encontré una forma muy simple de agregar una biblioteca al proyecto.

  1. Cree la carpeta "libs" en la raíz de su proyecto.
  2. Copie el archivo JAR en esa carpeta.
  3. Regrese a Android Studio, localice su archivo JAR y haga clic derecho en él, elija "Agregar como biblioteca ...", le preguntará solo a qué módulo desea agregarlo, así que elija "aplicación".

Ahora en su módulo de "aplicación" puede usar clases de ese JAR, será capaz de localizar y agregar declaraciones de "importación" automáticamente y compilar perfectamente. El único problema podría ser que agrega dependencia con una ruta absoluta como:

compile files('/home/user/proj/theproj/libs/thelib-1.2.3.jar')

en tu "app / build.gradle".

¡Espero que ayude!

Yuriy Grinevich
fuente
2

Resolví este problema arreglando algunas rutas en settings.gradle como se muestra a continuación:

include ':project-external-module'

project(':project-external-module').projectDir = file('/project/wrong/path')

Estaba incluyendo un módulo externo para mi proyecto y tenía el camino equivocado.

Bogdan Emil Mariesan
fuente
1

Tuve este problema cuando pegué manualmente google-play-services_lib en mi proyecto. Obviamente, play-services no tenía un archivo build.gradle. La solución, aprendí, es poner esta dependencia en el build.gradle de mi proyecto (en lugar de copiar el directorio de servicios de reproducción):

    compile 'com.google.android.gms:play-services:4.0.+'
IgorGanapolsky
fuente
1

Cuando importé mi biblioteca manualmente, tuve el mismo problema. Intenté agregar mi biblioteca con el archivo> módulo de importación y resolvió mi problema.

población
fuente
1

En mi caso, recibí este error cuando escribí mal el nombre del módulo de la biblioteca (dependencia) en el build.gradlearchivo.

Así que recuerde verificar si el nombre del módulo es correcto.

build.gradle

dependencies {
    compile project(':module-name-of-the-library')
}
vovahost
fuente
1

Recientemente encontré este error cuando hice referencia a un proyecto que se inició a través de un submódulo git.

Terminé descubriendo que el build.gradlearchivo raíz del submódulo (un proyecto de Java) no tenía el complemento de Java aplicado en el nivel raíz.

Solo tenía

apply plugin: 'idea'

Agregué el complemento de Java:

apply plugin: 'idea'
apply plugin: 'java'

Una vez que apliqué el plugin de Java, desapareció el mensaje 'no se encontró por defecto' y la compilación tuvo éxito.

Donn Felker
fuente
1

Además ... verifique si tiene los archivos del módulo dentro de su proyecto.

Por ejemplo, tengo una aplicación que usa el módulo Volley. Durante mis estudios sobre el desarrollo de Android, eliminé accidentalmente los archivos que estaban dentro del directorio "volley".

~/git/Sandbox/android/HelloWorld/volley $ ll
total 8
drwxrwxr-x 2 ivanleon ivanleon 4096 Jun 16 22:26 ./
drwxrwxr-x 6 ivanleon ivanleon 4096 Jun 17 01:51 ../

Acabo de clonar el proyecto (ver más abajo) y luego, hice la sincronización del proyecto en Android Studio (Herramientas> Android> Sincronizar proyecto con archivos Gradle) , y la construcción de Gradle terminó normalmente (Consola Gradle: esquina inferior derecha de Android Studio) ;).

~/git/Sandbox/android/HelloWorld/volley $ git clone https://android.googlesource.com/platform/frameworks/volley
Cloning into 'volley'...
remote: Counting objects: 164, done
remote: Finding sources: 100% (164/164)
remote: Total 3222 (delta 307), reused 3222 (delta 307)
Receiving objects: 100% (3222/3222), 1.22 MiB | 114.00 KiB/s, done.
Resolving deltas: 100% (307/307), done.
Checking connectivity... done.

~/git/Sandbox/android/AndroidGetJSON $ ls volley
Android.mk      build         build.xml         pom.xml       
proguard-project.txt      src    bintray.gradle  build.gradle
custom_rules.xml  proguard.cfg  rules.gradle          volley.iml
ivanleoncz
fuente
0

Su build.gradle para el módulo / biblioteca podría ser tan simple como:

apply plugin: 'java'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

Si su módulo es solo una colección de clases POJO .java.

Si se trata de clases de modelo / entidad y está utilizando anotaciones y tiene algunas dependencias, puede agregarlas en:

apply plugin: 'java'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.j256.ormlite:ormlite-core:4.48'
    compile 'com.j256.ormlite:ormlite-android:4.48'
    compile 'com.j256.ormlite:ormlite-jdbc:4.48'
}
Panadero
fuente
0

Esto sucede cuando compila una carpeta / proyecto importado o copiado como módulo en la carpeta de bibliotecas. Este problema surgió cuando no incluí el build.gradlearchivo. cuando agregué el archivo todo salió bien.

Kenan Begić
fuente
0

Para mí resultó ser un vínculo simbólico relativo (al proyecto al que se hace referencia) que no podía ser usado por grado. (Estaba haciendo referencia a una biblioteca). Es un caso bastante nervioso, pero tal vez ayude a alguien en el futuro.

Lo resolví poniendo un enlace simbólico absoluto.

Antes ln -s ../librarydespuesln -s /the/full/path/to/the/library

Langusten Gustel
fuente
0

También enfrenté el mismo problema y se resolvió cambiando un indicador (gradle.ext.set ("allowLocalEdits", true)) a falso en settings.xml.

AVINASH SHRIMALI
fuente
0

Para mí, una de las bibliotecas dependientes no existe en la ruta correcta, pero el mensaje de error no señala ESA biblioteca correctamente.

Por ejemplo, lo que me perdí es :library-3pero el error arroja :library-1.

pobre gradle.

Youngjae
fuente
-1

Intente agregar la biblioteca Volley y sincronice y ejecute el programa. si uno ha retirado y tengo uso de voley y el error se muestra como -Android Studio Gradle Configuration con el nombre 'default' no encontrado, entonces siga el paso de agregar la biblioteca de volley en su gradle. Espero eso ayude. Aclaré mi problema de esta manera.

Sayyaf
fuente