2013-06-03 5 views
14

Мы недавно перешли на Android Studio (из Intellij). В настоящее время я пытаюсь перенести наш проект на использование gradle для сборки. Я попытался установить его вокруг нашей текущей структуры папок, и я попытался перенести наши файлы в соответствии с структурой файла gradle.Проблемы с попыткой создания градиентной сборки

У меня были ошибки в каждом направлении, я искал ответ, но не могу найти ничего, что вполне соответствует тому, что мы получаем.

Я получаю ошибку при попытке перейти на Gradle структура файла:

  • Что пошло не так:

    Возникла проблема настройки проекта «:».

    Failed to notify project evaluation listener. Configuration with name 'default' not found

Я получаю ошибку, используя нашу старую структуру файла является:

:<project>:processDebugResources 
/Users/kbrown/dev/AndroidClient/<project>/build/res/all/debug/values/values.xml:311: error: Error retrieving parent for item: No resource found that matches the given name '@style/Widget.Sherlock.ActionBar.Solid'. 
/Users/kbrown/dev/AndroidClient/<project>/build/res/all/debug/values/values.xml:312: error: Error: No resource found that matches the given name: attr 'background'. 
/Users/kbrown/dev/AndroidClient/<project>/build/res/all/debug/values/values.xml:314: error: Error: No resource found that matches the given name: attr 'backgroundSplit'. 

Любые идеи о том, где искать. У нас есть пара ссылок на библиотеки, такие как ActionBarSherlock.

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 files('libs/retrofit-1.0.0-SNAPSHOT.jar') 
    compile project(':ThirdParty:ActionBarSherlock') 
    compile project(':ThirdParty:drag-sort-listview') 
    compile project(':ThirdParty:SlidingMenu') 
    compile project(':ThirdParty:Android-ViewPagerIndicator') 
} 


android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 

    defaultConfig { 
     minSdkVersion 8 
     targetSdkVersion 17 
    } 

    sourceSets { 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      resources.srcDirs = ['src'] 
      res.srcDirs = ['res'] 

     } 

     instrumentTest.setRoot('../UnitTests/src') 
    } 
} 

settings.gradle

include ':library:Android-ViewPagerIndicator',':library:SlidingMenu',':library:drag-sort-listview',':library:ActionBarSherlock',':<project>' 

будут оценены любые идеи.

ответ

2

Глядя на ваши зависимости:

dependencies { 
compile files('libs/android-support-v4.jar') 
compile files('libs/retrofit-1.0.0-SNAPSHOT.jar') 
compile project(':ThirdParty:ActionBarSherlock') 
compile project(':ThirdParty:drag-sort-listview') 
compile project(':ThirdParty:SlidingMenu') 
compile project(':ThirdParty:Android-ViewPagerIndicator') 
} 

Вы должны иметь в своем settings.gradle:
include ':ThirdParty:Android-ViewPagerIndicator' ...., а не include ':library:Android-ViewPagerIndicator' ....

+0

Спасибо всем за помощь. У меня есть модифицированное здание проекта. Я все еще работаю над тем, что следует за новой структурой каталогов. Если я удалю все зависимости, он будет работать.Как только я добавляю ActionBarSherlock, я получаю * Что пошло не так: Возникла проблема с настройкой проекта ': '. > Не удалось уведомить слушателя по оценке проекта. > Конфигурация с именем 'default' не найдена. – user2449336

+0

Вот билд для ActionBarSherlock buildscript { репозиториев { Maven {URL 'http://repo1.maven.org/maven2'}} зависимости { путь к классам 'com.android.tools.build:gradle:0.4' }} применить плагин: 'андроид-библиотека' зависимостей { компилировать файлы ('ЛИЭС/Android-поддержка-v4.jar') } андроида { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 8 targetSdkVersion 16 } sourceSets { \t Основной { \t 'библиотека/AndroidManifest.xml' manifest.srcFile \t resources.srcDirs = [ 'библиотека/Src'] \t res.srcDirs = [ 'библиотека/res ']}}} – user2449336

+4

Не могли бы вы изменить свой вопрос, а не копировать код в комментариях, это не очень ясно, как это – lukas

8

Иногда вы получите эту ошибку, если Gradle не может использовать макет проекта по умолчанию, определенный плагином Android. Похоже, вы пытаетесь настроить build.gradle на использование макета старого стиля, но забыли включить некоторые каталоги (а именно java.srcDirs). Попробуйте что-то вроде:

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

Возможно также, что один из ваших проектов зависимостей настроен неправильно. У вас есть файл build.gradle для ActionBarSherlock и других сторонних проектов? Попробуйте комментировать ваши зависимости и повторно добавить их по одному, чтобы увидеть, когда возникает ошибка.

+0

Мне пришлось добавить файл gradle.build в мой проект ActionBarSherlock с данными sourceSets. Решила мою проблему, спасибо и +1 :) –

+0

странно, что eclipse не создавал файл build.gradle для панели действий, но это делалось для других сторонних зависимостей. – topwik

+0

«У вас есть файл build.gradle ..» была моя проблема, вызвавшая эту ошибку, oops! – Zulaxia

0

Еще одна потенциальная причина этой точной ошибки. Я обнаружил, что эта ошибка была решена путем комментирования некоторых неиспользуемых библиотек в разделе зависимостей build.gradle. Убедитесь, что эти пути и все это правильно.

Смежные вопросы