Error: la configuración con el nombre 'predeterminado' no se encuentra en Android Studio


117

Estoy usando la biblioteca de volley para realizar operaciones de red en Android. Así que estoy tratando de agregar esta biblioteca en mi proyecto que se crea en Android Studio y el sistema gradle.

Agregué la biblioteca de voleibol en mi proyecto, pero cuando sincronizo con gradle, recibo un mensaje de error. Probé todas las respuestas que veo aquí, pero nada funcionó para mí.

Mensaje de error : la configuración con el nombre 'predeterminado' no se encuentra en Android Studio

Volea / build.gradle

apply plugin: 'android-library'

android {

    compileSdkVersion 19
    buildToolsVersion '19.0.1'

    sourceSets {
        defaultConfig {
            minSdkVersion 8
            targetSdkVersion 19
        }

        main {
            assets.srcDirs       = ['assets']
            res.srcDirs          = ['res']
            aidl.srcDirs         = ['src']
            resources.srcDirs    = ['src']
            renderscript.srcDirs = ['src']
            java.srcDirs         = ['src']
            manifest.srcFile 'AndroidManifest.xml'

        }
    }
}

app / build.gradle

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.1'

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:19.+'
    compile project(':library:volley')
}

root / build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

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

allprojects {
    repositories {
        mavenCentral()
    }
}

settings.gradle

include ':app'
include ':library:volley'

¿Ha agregado la carpeta de la biblioteca en la ubicación correcta como nombre del proyecto / biblioteca?
Ajay S

Agregué el directorio de la biblioteca en el directorio de la aplicación
Bot


Posible duplicado de la configuración
tir38

1
En mi caso, falta uno de mis archivos de configuración de Gradle. No está correctamente insertado.
Zar E Ahmer

Respuestas:


68

Agregue la carpeta de su biblioteca en su ubicación raíz de su proyecto y copie todos los archivos de la biblioteca allí. Por ejemplo, YourProject / library, luego sincronícelo y el resto me parece que todo está bien.


5
También puede significar que faltan el archivo build.gradle o los archivos .iml dentro de los directorios de la biblioteca
WKS

7
@aleb a conocer el mensaje de error completo sólo tiene que ejecutar el comando de terminal: ./gradlew assembleDebug. Puede hacerlo desde Android Studioo desde una aplicación de terminal externa.
once de

¿Puedes publicar ejemplos y fotos? gracias, porque este método no funciona
entrega el

Gracias amigo que me salvó el día. Gracias <3
Gufran Khurshid

1
Esto me llevó a darme cuenta de que me faltaban mis submódulos, que se amplían más explícitamente en la respuesta de @ ViliusK.
Ionoclast Brigham

96

Tratar:

git submodule init
git submodule update

1
Esto definitivamente funciona para bibliotecas que se agregan como submódulo, ¡gracias!
Arne

@Vilius, ¿desde qué directorio ejecuto esto en la Terminal? Intenté ejecutarlo en el directorio de mi proyecto, pero dice Not a git repository (or any of the parent directories). Tengo una aplicación de muestra que intenté importar y no estaba configurada para gradle, por lo que la envolvieron. Me pregunto si eso es parte del problema. De hecho, ni siquiera tengo un settings.gradlearchivo. Solo build.gradley algunos otros.
Azurespot

2
Debe ejecutar desde el directorio raíz del proyecto. Debería ser un proyecto de git repo. Y debería ser un proyecto con subproyectos. Busque en el build.gradlearchivo algo comocompile project(':libs:my-custom:library')
ViliusK

1
> Un submódulo le permite mantener otro repositorio de Git en un subdirectorio de su repositorio. El otro repositorio tiene su propio historial, que no interfiere con el historial del repositorio actual. Esto se puede utilizar para tener dependencias externas como, por ejemplo, bibliotecas de terceros. fuente
ViliusK

3
¿Cómo tiene algo que ver el submódulo git con el error de compilación de gradle?
teddy

22

Este es probablemente un caso raro, pero para mí una biblioteca que estaba incluida en settings.gradle no estaba allí.

Por ejemplo, tenía: include ':libraries:Android-RateThisApp:library'en mi configuración.gradle

pero la carpeta Android-RateThisApp estaba vacía. Tan pronto como revisé este submódulo, la sincronización de Gradle se realizó correctamente.


Sí, probablemente hayas tenido que hacerlo git submodule inity git submodule update. Es un caso común cuando se revisa un proyecto con submódulos.
ViliusK

no es raro en absoluto ... este es el caso para mí con este tipo de error ... MUCHO tiempo.
sirvon

¡Este fue mi caso! Se actualizó react-native-maps y cambió la ruta al directorio de Android
cbartondock

14

Si desea utilizar la misma carpeta de biblioteca para varios proyectos, puede hacer referencia a ella en gradle a una ubicación externa como esta:

settings.gradle:

include 'app', ':volley'
project(':volley').projectDir = new File('../libraries/volley')

en su aplicación build.gradle

dependencies {
    ...
    compile project(':volley')
...}

Esto funcionó para mí cuando tenía un proyecto completo como submódulo, pero solo quería usar el módulo de biblioteca de ese proyecto (y excluir la aplicación de muestra).
phreakhead

6

También me enfrento a este problema, pero sigo los siguientes pasos: - 1) Agrego el módulo (Biblioteca) a un nombre de carpeta en particular ThirdPartyLib

Para resolver este problema, voy a settings.gradle que solo agregar lo siguiente: -

proyecto (':'). projectDir = new File ('ThirdPartyLib /')

: - es el nombre del módulo ...


3

Para diagnosticar este error, desplácese rápidamente a un terminal o use el terminal integrado en Android Studio (accesible en la barra de estado inferior). Cambie al directorio principal de su PROYECTO (donde settings.gradleestá ubicado).

1.) Verifique para asegurarse de que settings.gradleincluye el subproyecto. Algo como esto. Esto asegura que su compilación multiproyecto conozca su subproyecto de biblioteca.

include ':apps:App1', ':apps:App2', ':library:Lib1'

Donde el texto entre dos puntos son subdirectorios.

2.) Ejecute el siguiente comando de gradle, solo vea si Gradle puede darle una lista de tareas para la biblioteca. Utilice el mismo calificador en la settings.gradledefinición. Esto revelará problemas con el script de construcción de la biblioteca de forma aislada.

./gradlew :library:Lib1:tasks --info

3.) Asegúrese de que la salida del último paso enumere una tarea "ensamblar por defecto". Si no se aseguró de que la biblioteca incluya el complemento de la biblioteca de Android en build.gradle. Así en la parte superior.

apply plugin: 'com.android.library'

Sé que la pregunta del póster original fue respondida, pero creo que la respuesta ha evolucionado durante el año pasado y creo que hay varias razones para el error. Creo que este flujo de resolución debería ayudar a quienes se encuentran con los diversos problemas.


3

Verifique el settings.gradlearchivo. Los módulos incluidos pueden faltar o estar en otro directorio. Por ejemplo, con la línea de abajo settings.gradle, gradle busca el common-libmódulo dentro del directorio de su proyecto:

include ':common-lib'

Si falta, puede buscar y copiar este módulo en su proyecto o hacer referencia a su ruta en el settings.gradlearchivo:

include ':common-lib'
project(':common-lib').projectDir = new File('<path to your module i.e. C://Libraries/common-lib>') // 

0

Para mí, (según algunos comentarios que he visto), el problema era que gradle no podía encontrar el build.gradle para la biblioteca importada. Esta configuración es sencilla pero el mensaje de error es un poco críptico. Por ejemplo, estaba usando el proyecto android-map-utils y tuve que incluirlo en mi settings.gradle agregando estas 2 líneas como esta.

include ':android-map-utils'
project(':android-map-utils').projectDir = new File(settingsDir, '..\\..\\modules\\android-maps-utils-master\\library')

La ruta de la biblioteca es relativa al archivo settings.gradle de mi proyecto. Luego, simplemente lo hice referencia en mis dependencias del archivo build.gradle de mi aplicación como este

...

    dependencies {
    ....
        compile project(':android-map-utils')
    ....

    }

Recomiendo importar un módulo a la vez, compilarlo y verificarlo.


0

Si suponga que detectó este error después de eliminar ciertos módulos de nodo, idealmente no debería estar presente la biblioteca en build.gradle (Módulo: aplicación). Puede eliminarse manualmente y sincronizar el proyecto nuevamente.


0

También enfrenté el mismo problema y el problema fue que faltaban las bibliotecas en algunos de los siguientes archivos.

settings.gradle, app / build.gradle, package.json, MainApplication.java

Supongamos que la biblioteca es react-native-vector-icons, entonces debería mencionarse en los siguientes archivos;

En el archivo app / build.gradle en la sección de dependencias, agregue:

compilar proyecto (': react-native-vector-icons')

En el archivo settings.gradle en la carpeta de Android, agregue lo siguiente:

incluir proyecto ': react-native-vector-icons' (': react-native-vector-icons'). projectDir = new File (rootProject.projectDir, '../node_modules/react-native-vector-icons/android' )

En MainApplication.java, agregue lo siguiente:

Importe la dependencia: import com.oblador.vectoricons.VectorIconsPackage;

y luego agregue: new VectorIconsPackage () en el método getPackages ().


0

La eliminación de algunas dependencias nativas de reacción resolvió el problema

Eliminando estas líneas el problema está resuelto. Esta línea la crea el enlace rnpm pero es un error.

compile project(':react-native-gps')
compile project(':react-native-maps')
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.