Build.gradle y libs de proyectos

Tengo un proyecto en android studio que utiliza una biblioteca de proyectos. Mi problema es la configuración de los archivos gradle.

Realmente he intentado una gran cantidad de solución que se publicaron aquí ( defina modul en proyecto lib en la configuración de modul , sherlock ejemplo , la configuración de fuentes adecuadas …), pero siempre tengo el mismo error (tan pronto como agregar la debendency lib a Mi archivo build.gradle de aplicaciones):

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

Ya hice un limpio y construir desde la línea de comandos, pero esto no tiene ningún efecto. ¿Es posible que esto sea sólo un error en la primera versión de Android Studio ( como el comentario en esta publicación )? ¿O extraño algo?

Mi versión actual de Android Studio: 0.1.6 y mi sistema operativo: Windows 7, 64bit

Por favor, ayúdame, soy nuevo en gradle y nunca he usado maven o ant antes.

EDIT 1:

 gardelw compileDebug --stacktrace * Exception is: org.gradle.api.ProjectConfigurationException: A problem occurred configuring pro ject ':MyApp'. at org.gradle.configuration.LifecycleProjectEvaluator.addConfigurationFa ilure(LifecycleProjectEvaluator.java:79) at org.gradle.configuration.LifecycleProjectEvaluator.notifyAfterEvaluat e(LifecycleProjectEvaluator.java:74) at org.gradle.configuration.LifecycleProjectEvaluator.evaluate(Lifecycle ProjectEvaluator.java:61) at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProj ect.java:465) at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProj ect.java:76) at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuil dConfigurer.java:31) at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(Default GradleLauncher.java:142) at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradle Launcher.java:113) at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLaun cher.java:81) at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildCon troller.run(InProcessBuildActionExecuter.java:64) at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.jav a:33) at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.jav a:24) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProce ssBuildActionExecuter.java:35) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProce ssBuildActionExecuter.java:26) at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:50) at org.gradle.api.internal.Actions$RunnableActionAdapter.execute(Actions .java:171) at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction. execute(CommandLineActionFactory.java:201) at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction. execute(CommandLineActionFactory.java:174) at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute( CommandLineActionFactory.java:170) at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute( CommandLineActionFactory.java:139) at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionRep ortingAction.java:33) at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionRep ortingAction.java:22) at org.gradle.launcher.Main.doAction(Main.java:48) at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45) at org.gradle.launcher.Main.main(Main.java:39) at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBoots trap.java:50) at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.j ava:32) at org.gradle.launcher.GradleMain.main(GradleMain.java:26) at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.ja va:33) at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:130) at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48) Caused by: org.gradle.listener.ListenerNotificationException: Failed to notify p roject evaluation listener. at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java :90) at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java :30) at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocat ionHandler.invoke(ProxyDispatchAdapter.java:93) at com.sun.proxy.$Proxy8.afterEvaluate(Unknown Source) at org.gradle.configuration.LifecycleProjectEvaluator.notifyAfterEvaluat e(LifecycleProjectEvaluator.java:67) ... 29 more Caused by: org.gradle.api.artifacts.UnknownConfigurationException: Configuration with name 'default' not found. at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration Container.createNotFoundException(DefaultConfigurationContainer.java:94) at org.gradle.api.internal.DefaultNamedDomainObjectCollection.getByName( DefaultNamedDomainObjectCollection.java:184) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration Container.getByName(DefaultConfigurationContainer.java:84) at org.gradle.api.internal.artifacts.dependencies.DefaultProjectDependen cy.getProjectConfiguration(DefaultProjectDependency.java:72) at org.gradle.api.internal.artifacts.dependencies.DefaultProjectDependen cy_Decorated.getProjectConfiguration(Unknown Source) at org.gradle.api.internal.BeanDynamicObject$MetaClassAdapter.getPropert y(BeanDynamicObject.java:146) at org.gradle.api.internal.BeanDynamicObject.getProperty(BeanDynamicObje ct.java:102) at org.gradle.api.internal.CompositeDynamicObject.getProperty(CompositeD ynamicObject.java:78) at org.gradle.api.internal.artifacts.dependencies.DefaultProjectDependen cy_Decorated.getProperty(Unknown Source) at com.android.build.gradle.BasePlugin$_ensureConfigured_closure92.doCal l(BasePlugin.groovy:1252) at com.android.build.gradle.BasePlugin.ensureConfigured(BasePlugin.groov y:1250) at com.android.build.gradle.BasePlugin$ensureConfigured.callCurrent(Unkn own Source) at com.android.build.gradle.BasePlugin.resolveDependencyForConfig(BasePl ugin.groovy:1214) at com.android.build.gradle.BasePlugin$resolveDependencyForConfig.callCu rrent(Unknown Source) at com.android.build.gradle.BasePlugin.resolveDependencies(BasePlugin.gr oovy:1164) at com.android.build.gradle.BasePlugin$resolveDependencies.callCurrent(U nknown Source) at com.android.build.gradle.AppPlugin.doCreateAndroidTasks(AppPlugin.gro ovy:196) at com.android.build.gradle.BasePlugin.createAndroidTasks(BasePlugin.gro ovy:242) at com.android.build.gradle.BasePlugin$_apply_closure1.doCall(BasePlugin .groovy:190) at org.gradle.listener.ClosureBackedMethodInvocationDispatch.dispatch(Cl osureBackedMethodInvocationDispatch.java:40) at org.gradle.listener.ClosureBackedMethodInvocationDispatch.dispatch(Cl osureBackedMethodInvocationDispatch.java:25) at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java :81) ... 33 more BUILD FAILED Total time: 2.947 secs 

EDIT 2:

estructura del proyecto:

 MyProject - MyApp -- build.gradle -- libraries --- projectLib --- build.gradle - build.gradle - settings 

Settings.gradle

 include ':MyApp' include ':libraries:projectLib' // also tried to define projectLib as modul: // project(':projectLib').projectDir = new File('MyApp/libraries/projectLib') 

Build.gradle de MyApp:

 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(':libraries:projectLib') // adding this line // --> build failed } android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 7 targetSdkVersion 16 } sourceSets{ main{ manifest.srcFile 'src/main/AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['src/main/res'] aidl.srcDirs = ['res'] assets.srcDirs = ['assets'] renderscript.srcDirs = ['src'] } } } 

Build.gradle de projectLib:

 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.4' } } apply plugin: 'android-library' dependencies { compile fileTree(dir: 'libs', include: '*.jar') } android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 7 targetSdkVersion 16 } sourceSets{ main{ manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] aidl.srcDirs = ['res'] assets.srcDirs = ['assets'] renderscript.srcDirs = ['src'] } } } 

EDIT 3:

Settings.gradle

 include ':MyApp' include ':MyApp:libraries:projectLib' 

Build.gradle de MyApp:

 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.4.2' } } apply plugin: 'android' dependencies { compile 'com.android.support:support-v4:13.0.0' compile project(':MyApp:libraries:projectLib') } 

Build.gradle de projectLib:

 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.4.2' } } apply plugin: 'android-library' dependencies { compile 'com.android.support:support-v4:13.0.0' } 

Creo que está especificando la ruta de acceso a su proyecto de biblioteca incorrectamente. Si estoy interpretando correctamente el diseño del proyecto, la línea debería ser la siguiente:

 compile project(':MyApp:libraries:projectLib') 

Cuando inicia una ruta de proyecto con ':' está creando una ruta absoluta desde el proyecto raíz y, básicamente, simplemente escribe una ruta con ':' en lugar de '/'. En este caso, su módulo projectLib está en el directorio MyProject / MyApp / libraries / projectLib, y MyProject es donde está su settings.gradle, convirtiéndolo en su proyecto raíz. Así que intercambiar en dos puntos para las barras le consigue la línea que escribí arriba.

Tendrás que modificar tu settings.gradle para incluir también la ruta completa:

 include 'MyApp:libraries:projectLib' 

Por último, si desea guardar algo de mecanografía para cosas como su configuración de repositorio, puede ponerlo en un bloque de proyecto allproject en su proyecto raíz.

 allprojects { repositories { mavenCentral() } } 

Un montón de pequeños consejos como que cubiertos en los documentos de varios módulos.

Después de largas investigaciones, varios escenarios y la ayuda de Josh, resolví mi problema que se describe en la pregunta anterior.

Ahora aquí mi solución:

  • Establece la versión gradle en tus archivos build.gradle a 0.4.2
  • Use para la biblioteca de soporte (por ejemplo: v4) "com.android.support:support-v4:13.0.0" ( como se describe aquí )
  • En mi caso tuve que instalar el "Android Support Repository" y "Google Repository" con el SDK Manager
  • Con los últimos archivos de gradle editados ( Editar 3 ) en mi pregunta -> mi compilación fue exitosa
  • Plugins incompatibles para android-apt después de actualizar a Android Studio 2.3
  • ResConfigs por tipo de compilación
  • Actualizar el complemento de Android Studio Gradle a la última versión
  • FALLA: la generación falló con una excepción
  • Problema al migrar a Gradle Experimental 2.5: ningún método AndroidConfig
  • No se puede instanciar la aplicación com.android.tools.fd.runtime.BootstrapApplication? Android
  • Generación dinámica de sabores de productos
  • SignedConfigs me da un error de Lint en build.gradle después de actualizar a v22
  • Minify la aplicación para Android, pero no la ofusque
  • Error de sincronización de Gradle: 'com.android.build.gradle.BasePlugin' no implementa la interfaz de Plugin
  • ¿Cómo depurar al ejecutar pruebas Robolectric en Android Studio?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.