Build.gradle и проект libs

У меня есть проект в студии Android, который использует библиотеку проектов. Моя проблема – это конфигурация файлов градиентов.

Я действительно пробовал много решений, которые были размещены здесь ( определите modul в проекте lib в настройках как modul, пример sherlock , установив правильные исходники …), но я всегда получаю ту же ошибку (как только я добавляю lib debendency к Файл моих приложений build.gradle):

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

Я уже делал чистую и строю из командной строки, но это не имеет никакого эффекта. Возможно ли, что это всего лишь ошибка в ранней версии Android Studio ( например, комментарий в этом сообщении )? Или мне что-то не хватает?

Моя текущая версия Android Studio: 0.1.6 и моя ОС: Windows 7, 64bit

Пожалуйста, помогите мне, я новичок в градиенте, и я никогда раньше не использовал maven или ant.

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:

Структура проекта:

 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 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 проектаLib:

 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'] } } } 

ИЗМЕНИТЬ 3:

settings.gradle

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

Build.gradle 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 проектаLib:

 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' } 

Solutions Collecting From Web of "Build.gradle и проект libs"

Я думаю, вы неправильно указали путь к вашему библиотечному проекту. Если я правильно интерпретирую ваш проект, строка должна быть следующей:

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

Когда вы запускаете путь к проекту с помощью:: вы делаете абсолютный путь от корневого проекта, а затем в основном просто пишете путь с помощью:: 'вместо' / '. В этом случае ваш модуль projectLib находится в каталоге MyProject / MyApp / libraries / projectLib, а MyProject – это где ваши settings.gradle, что делает его вашим корневым проектом. Таким образом, замена в двоеточие для косой черты дает вам строку, которую я написал выше.

Вам нужно будет изменить ваши настройки.gradle, чтобы включить полный путь:

 include 'MyApp:libraries:projectLib' 

Наконец, если вы хотите сохранить некоторую типизацию для таких вещей, как ваша конфигурация репозитория, вы можете поместить ее в блок allproject в своем корневом проекте.

 allprojects { repositories { mavenCentral() } } 

Много приятных советов, подобных тем, которые описаны в документах с несколькими модулями.

После долгих исследований, нескольких настроек и помощи Джоша, я решил свою проблему, описанную выше.

Теперь вот мое решение:

  • Установите версию gradle в файлы build.gradle на 0.4.2
  • Используйте для поддержки-библиотеки (например: v4) «com.android.support:support-v4:13.0.0» ( как описано здесь )
  • В моем случае мне пришлось установить «Репозиторий поддержки Android» и «Репозиторий Google» с помощью диспетчера SDK
  • С последними отредактированными файлами gradle ( Edit 3 ) в моем вопросе -> моя сборка была успешной