Проблемы с созданием gradle build

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

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

Ошибка при попытке миграции в структуру файла gradle:

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

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

    Не удалось уведомить слушателя по оценке проекта. Конфигурация с именем "по умолчанию" не найдена

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

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

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

Ответ 1

Изучая ваши зависимости:

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

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

Ответ 2

Иногда вы будете получать эту ошибку, если 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 и других сторонних проектов? Попробуйте комментировать ваши зависимости и повторно добавить их по одному, чтобы увидеть, когда возникает ошибка.

Ответ 3

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