build.gradle y project libs

Tengo un proyecto en Android Studio que usa una biblioteca de proyectos. Mi problema es la configuartion de los archivos de Gradle.

Realmente traté de una gran cantidad de soluciones que se publicaron aquí ( definir el modulo en la versión del proyecto en configuraciones como modul , ejemplo de sherlock , configuración de conjuntos de orígenes correctos …), pero siempre obtengo el mismo error (tan pronto como agrego la autorización de liberación a mi archivo de aplicaciones build.gradle):

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

Ya hice una limpieza y comstackción desde línea de comandos, pero esto no tiene ningún efecto. ¿Es posible que esto sea solo un error en la versión anterior 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, 64 bits

Por favor, ayúdenme, soy nuevo en gradle y nunca antes había usado maven o horm.

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 

EDICION 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 incorrectamente la ruta a su proyecto de biblioteca. Si estoy interpretando correctamente el diseño de tu proyecto, la línea debería ser la siguiente:

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

Cuando comienzas una ruta de proyecto con ‘:’ estás haciendo una ruta absoluta desde el proyecto raíz y básicamente escribiendo 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 dos puntos en barras de dos puntos te lleva a la línea que escribí arriba.

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

 include 'MyApp:libraries:projectLib' 

Finalmente, si quiere guardar algo de mecanografía para cosas como la configuración de su repository, puede ponerlo en un bloque allproject en su proyecto raíz.

 allprojects { repositories { mavenCentral() } } 

Una gran cantidad de buenos consejos como los cubiertos en los documentos de varios módulos.

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

Ahora aquí mi solución:

  • configure la versión gradle en sus archivos build.gradle a 0.4.2
  • utilizar 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 “Repositorio de Soporte de Android” y el “Repositorio de Google” con el Administrador de SDK
  • con los últimos archivos gradle editados ( Editar 3 ) en mi pregunta -> mi comstackción fue exitosa