Android Studio Gradle Конфигурация с именем «по умолчанию» не найдена

181

У меня проблемы с компиляцией приложения с помощью Android Studio (0.1.5). Приложение использует 2 библиотеки, которые я включил следующим образом:

settings.gradle

include ':myapp',':library',':android-ColorPickerPreference'

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 project(':library')
    compile project(':android-ColorPickerPreference')

}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}

При компиляции я получаю это сообщение:

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

Не могли бы вы помочь мне с этим сообщением? Спасибо!

Gyonder
источник
5
все ли проекты библиотек, объявленные в settings.gradle, правильно настроили файлы build.gradle в корнях проектов? также: library и: android-ColorPickerPreference должны находиться в каталогах на том же уровне в структуре dir, что и файл settings.gradle?
Speedynomads
Эта проблема возникла у меня, когда у меня не было файла build.gradle в одном из моих проектов библиотеки. При создании этого файла ошибка исчезла.
Игорь Ганапольский
В моем случае один из моих файлов конфигурации gradle отсутствует.
Зар Э Ахмер
Как создать файл gradle.build .. Я также сталкиваюсь с той же проблемой?

Ответы:

82

В моем случае, после компиляции с gradle tasks --info, журнал был там:

Оценка проекта ': library: VolleyLibrary' с использованием пустого файла сборки.

Не удалось найти файл библиотеки build.gradle. Причина - структура папок.

это было

-libraries
--volley
---VolleyLibrary

Это должно быть

-libraries
--VolleyLibrary
guydemossyrock
источник
Как вы получили его для оценки ': library: VolleyLibrary'? Как эта строка выглядит в вашем файле build.gradle?
Игорь Ганапольский
dependencies {compile ': library: VolleyLibrary'} Должно быть что-то вроде этого и ничего более.
guydemossyrock
1
Согласно приведенному выше примеру кода: Библиотеки должны быть написаны заглавными буквами.
Игорь Ганапольский
3
Как вы компилируете с "gradle tasks --info"?
Toddmo
8
./gradlew tasks --infoэто покажет информацию обо всех задачах. Я думаю, что было бы полезно выяснить, что происходит не так.
День
60

Я забыл вытащить все подмодули. Так что мой

compile project(':something')

не может быть решена.

Решение

git submodule update --init
passsy
источник
2
Пожалуйста, объясните, в какой папке я должен запустить эту команду - папка проекта или папка подмодуля
Ajith Memana
1
этот должен быть принят ответ. вводящее в заблуждение сообщение об ошибке в большинстве случаев означает, что вы забыли клонировать подмодули
vigilancer
1
В моем случае я забыл удалить субмодуль из файла settings.gradle. Так что будьте осторожны! : D
Ярослав Гаврилович
20
compile fileTree(dir: '//you libraries location//', include: ['android-ColorPickerPreference'])

Используйте строку выше в файле Gradle вашего приложения вместо

compile project(':android-ColorPickerPreference')

Надеюсь, поможет

локеш кумар
источник
19

Следующая процедура решила мою проблему:

  • Перейдите к настройкам вашего подпроекта-модуля / библиотеки-модуля. (НажмитеF4 после выбора модуля)
  • Щелкните правой кнопкой мыши на Add> Android-Gradle .
  • Добавьте build.gradle в свой модуль.
  • Добавьте следующий скрипт

    buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
     }
    
    
      apply plugin: 'android-library'
    
    repositories {
    mavenCentral()
    }
    
    android {
    compileSdkVersion 18
    buildToolsVersion "18.1.0"
    
    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 18
    }
    
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    
    }
       } 
    1. добавь include ':yourModuleName'в свои настройки.
Ахмад Али Насир
источник
Когда я выбираю настройки модуля проекта библиотеки, это не вариант, а f4 ничего не делает.
Даниэль Боугман
1
@DanielBaughman, пожалуйста, уточните свой запрос, но если вы все еще не можете найти настройки модуля, вы можете сделать 2 вещи: 1) Перейдите в Файл> Импортировать модуль и следуйте инструкциям, Android Studio автоматически добавит файл build.gradle и также добавьте зависимости. 2) Вручную добавьте файл build.grade, напишите в нем скрипт, и ваша проблема будет решена.
Ахмад Али Насир
1
Спасибо за помощь. На самом деле я поместил папку, которую я импортировал, в проект - импортировал модуль, а затем в свойствах моего проекта сослался на исходный модуль, который я планировал импортировать как библиотеку, вместо новой созданной им папки модуля. Я настроил эту ссылку, и она исправила это.
Дэниел Боугман
12

Я также столкнулся с этой ошибкой - я забыл создать скрипт build.gradle для проекта библиотеки.

Viacheslav
источник
10

Еще одна причина - я пытался включить модуль в settings.gradle, используя

include ':MyModule'
project(':MyModule').projectDir = new File(settingsDir, '../../MyModule')

Единственная проблема заключалась в том, что я только что импортировал модуль из Eclipse и забыл переместить каталог за пределы моего проекта приложения, то есть пути '../../MyModule'не было.

Магнус W
источник
Это было более или менее моей проблемой. У меня было слишком много ../на пути, и он не указывал на правильное место. Это особенно трудно отследить, потому что Android Studio / Gradle создаст каталог, если он не существует. Вместо того, чтобы бросать простую ошибку, говоря: «Нет».
Джошуа Пинтер
7

Мое решение состоит в том, чтобы просто удалить строку из файла settings.gradle, который представляет модуль, который не существует:

include ':somesdk'

а также удалите соответствующую строку из build.gradle основного проекта:

compile project(':somesdk')
Ису Чжан
источник
6

У меня была проблема с git submodule при получении этой ошибки. Попробуйте запустить gradle tasks --infoдля более подробного описания проблемы. Я впервые использовал gradle tasks --debug, что было не так полезно, как --info.

Heinrisch
источник
5

Предположим, что вы хотите добавить библиотеку (например, MyLib) в ваш проект. Вы должны выполнить следующие шаги:

  1. Подготовьте свою библиотеку в качестве стандартной библиотеки Android, если тип вашей библиотеки - Eclipse ADT
    Для этой работы достаточно импортировать ее в Android Studio.
  2. Скопируйте папку библиотеки, в данном случае папку MyLib, и вставьте ее в основную папку проекта. Рекомендуется создать новую папку в главной папке проекта и назвать ее «Библиотеки».
  3. Перейдите в Android Studio и откройте файл Settings.gradle , где вы должны включить свою библиотеку в основной проект. Например include ':MyPrj', 'Libraries:MyLib'. Примечание . Текущий каталог для этого оператора включения - это ваша основная папка проекта. Если вы вставляете свой проект в папку, вы должны указать его адрес относительно основного каталога проекта. В моем случае я вставляю MyLib в папку « Библиотеки ». Это имя библиотеки не является ключевым словом, и вы можете выбрать другие имена для него
  4. Откройте страницу «Структура проекта» (« Файл» -> «Структура проекта ...» ), щелкните модули, затем щелкните основной проект, перейдите на вкладку «Зависимости», нажмите, +затем выберите « Зависимость модуля», и ваши библиотеки будут выбраны по вашему усмотрению.

Надеюсь, это поможет

frogatto
источник
чтобы быть понятным, зайдите в проект github sliding-menu github.com/jfeinstein10/SlidingMenu/tree/master/library и проверьте его структуру! Есть старый формат android проекта +build.gradle файл !! Спасибо, @ABFORCE +1
мертвая рыба
Этот пост помог мне импортировать OpenCV4Android в Android Studio, поэтому я ручаюсь за этот метод.
Крейг,
5

В моем случае я использовал файлы Gradle, которые работают под Windows, но не работали на Linux. include ':SomeProject'И compile project(':SomeProject')были чувствительны к регистру и не были найдены.

robUx4
источник
4

Для меня отсутствовала папка, которая была объявлена ​​в settings.gradle .

Стив Хэм
источник
3

С первого взгляда все выглядит хорошо, но некоторые осмотревшись здесь, нашли ответ, который может оказаться полезным: https://stackoverflow.com/a/16905808/7944

Даже автор оригинального ответа не звучит очень уверенно, но за этим стоит следить. Кроме того, вы ничего не сказали о своей структуре каталогов, и поэтому я предполагаю, что это скучный материал по умолчанию, но точно не знаю.

Джош Ганьон
источник
2

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

Я бы очень внимательно посмотрел на запись вашего проекта компиляции (': android-ColorPickerPreference') в build.gradle - попробуйте закомментировать связанный код и эту строку в build.gradle и посмотреть, компилируется ли он, - тогда перейдите оттуда к разрешению путь или проблема с библиотекой.

RoundSparrow Hilltx
источник
2

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

  1. Создайте папку "libs" в корне вашего проекта.
  2. Скопируйте файл JAR в эту папку.
  3. Вернитесь в Android Studio, найдите свой JAR-файл и щелкните его правой кнопкой мыши, выберите «Добавить как библиотеку ...», он спросит вас только, к какому модулю вы хотите его добавить, хорошо выберите «приложение».

Теперь в вашем модуле "app" вы можете использовать классы из этого JAR-файла, он сможет автоматически находить и добавлять объявления "import" и компилировать все в порядке. Единственная проблема может заключаться в том, что она добавляет зависимость с абсолютным путем, например:

compile files('/home/user/proj/theproj/libs/thelib-1.2.3.jar')

в вашем "app / build.gradle".

Надеюсь, это поможет!

Юрий Гриневич
источник
2

Я решил эту проблему, исправив некоторые пути в settings.gradle, как показано ниже:

include ':project-external-module'

project(':project-external-module').projectDir = file('/project/wrong/path')

Я включил в свой проект внешний модуль и указал неверный путь к нему.

Богдан Эмиль Мариесан
источник
1

У меня была эта проблема, когда я вручную вставил google-play-services_lib в свой проект. Очевидно, что в play-сервисах не было файла build.gradle. Я узнал, что решение состоит в том, чтобы поместить эту зависимость в build.gradle моего проекта (вместо того, чтобы печатать каталог play-services):

    compile 'com.google.android.gms:play-services:4.0.+'
IgorGanapolsky
источник
1

Когда я импортирую свою библиотеку вручную, у меня была та же проблема. Я попытался добавить свою библиотеку с модулем file> import, и это решило мою проблему.

savepopulation
источник
1

В моем случае я получил эту ошибку, когда неправильно написал имя модуля библиотеки (зависимости) в build.gradleфайле.

Поэтому не забудьте проверить, правильно ли указано имя модуля.

build.gradle

dependencies {
    compile project(':module-name-of-the-library')
}
vovahost
источник
1

Недавно я столкнулся с этой ошибкой, когда ссылался на проект, который был инициализирован через подмодуль git.

В итоге я обнаружил, что в корневом build.gradleфайле субмодуля (Java-проекта) не установлен плагин Java на корневом уровне.

Это было только

apply plugin: 'idea'

Я добавил плагин Java:

apply plugin: 'idea'
apply plugin: 'java'

Как только я применил плагин Java, сообщение «по умолчанию не найдено» исчезло, и сборка прошла успешно.

Донн Фелкер
источник
1

Также ... проверьте, есть ли у вас файлы модуля внутри вашего проекта.

Например, у меня есть приложение, которое использует модуль Volley. Во время моих исследований по разработке Android я случайно удалил файлы, которые находились в каталоге "volley".

~/git/Sandbox/android/HelloWorld/volley $ ll
total 8
drwxrwxr-x 2 ivanleon ivanleon 4096 Jun 16 22:26 ./
drwxrwxr-x 6 ivanleon ivanleon 4096 Jun 17 01:51 ../

Я просто клонировал проект (см. Ниже), а затем произвел синхронизацию проекта в Android Studio (Инструменты> Android> Синхронизировать проект с файлами Gradle) , и сборка Gradle завершилась нормально (Консоль Gradle: правый нижний угол Android Studio) ;).

~/git/Sandbox/android/HelloWorld/volley $ git clone https://android.googlesource.com/platform/frameworks/volley
Cloning into 'volley'...
remote: Counting objects: 164, done
remote: Finding sources: 100% (164/164)
remote: Total 3222 (delta 307), reused 3222 (delta 307)
Receiving objects: 100% (3222/3222), 1.22 MiB | 114.00 KiB/s, done.
Resolving deltas: 100% (307/307), done.
Checking connectivity... done.

~/git/Sandbox/android/AndroidGetJSON $ ls volley
Android.mk      build         build.xml         pom.xml       
proguard-project.txt      src    bintray.gradle  build.gradle
custom_rules.xml  proguard.cfg  rules.gradle          volley.iml
ivanleoncz
источник
0

Ваш build.gradle для модуля / библиотеки может быть таким простым:

apply plugin: 'java'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

Если ваш модуль - это просто коллекция классов .java POJO.

Если это классы моделей / сущностей, и вы используете аннотации и имеете некоторые зависимости, вы можете добавить их в:

apply plugin: 'java'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.j256.ormlite:ormlite-core:4.48'
    compile 'com.j256.ormlite:ormlite-android:4.48'
    compile 'com.j256.ormlite:ormlite-jdbc:4.48'
}
пекарь
источник
0

Это происходит, когда вы компилируете импортированную или скопированную папку / проект как модуль в папку библиотеки. Эта проблема поднималась, когда я не включал build.gradleфайл. когда я добавил файл, все прошло нормально.

Кенан Бегич
источник
0

Для меня это оказалось относительной символической ссылкой (на ссылочный проект), которую нельзя использовать по классу. (Я ссылался на библиотеку). Это довольно острый крайний случай, но, возможно, это поможет кому-то в будущем.

Я решил это, поставив абсолютную символическую ссылку.

До ln -s ../libraryпослеln -s /the/full/path/to/the/library

Лангустен Густел
источник
0

Я также столкнулся с той же проблемой, и она была решена путем изменения одного флага (gradle.ext.set ("allowLocalEdits", true)) на false в settings.xml.

АВИНАШ ШРИМАЛИ
источник
0

Для меня, одна из зависимых библиотек не существует в правильном пути, но сообщение об ошибке не указывает, что библиотека правильно.

Например, что я пропустил, :library-3но ошибка выдает в :library-1.

плохой ученик

Youngjae
источник
-1

Попробуйте добавить библиотеку Volley, синхронизировать и запустить программу. если кто-то вытащил, и у меня есть использование залпа, и ошибка показывает как -Android Studio Gradle Configuration с именем «default» не найдено, тогда выполните шаг добавления библиотеки залпа в ваш gradle. Надеюсь, поможет. Я очистил свою проблему таким образом.

Саййаф
источник