Конфігурація 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.

Чи можете ви мені допомогти з цим повідомленням? Дякую!


5
чи всі бібліотечні проекти, оголошені в settings.gradle, правильно налаштували файли build.gradle в коренях проекту? також: бібліотека та: android-ColorPickerPreference повинні бути в каталогах на тому ж рівні у вашій структурі реєстру, що і ваш файл settings.gradle?
speedynomads

Ця проблема зі мною виникла, коли я не мав файлу build.gradle в одному з моїх бібліотечних проектів. Створивши цей файл, помилка зникла.
ІгорГанапольський

У моєму випадку один з моїх файлів конфігурації gradle відсутній.
Зар Е Ахмер

як створити файл gradle.build .. я також зіткнувся з тією ж проблемою?

Відповіді:


82

У моєму випадку після компіляції gradle tasks --infoжурнал був там:

Оцінюючи проект ": бібліотеки: VolleyLibrary", використовуючи порожній файл збірки.

Тож не вдалося знайти файл build.gradle бібліотеки. Причина - структура папки.

Це було

-libraries
--volley
---VolleyLibrary

Це повинно бути

-libraries
--VolleyLibrary

Як ви змусили його оцінювати ": бібліотеки: VolleyLibrary"? Як виглядає цей рядок у вашому файлі build.gradle?
ІгорГанапольський

залежності {compile ': library: VolleyLibrary'} Це має бути щось подібне і більше нічого.
guydemossyrock

1
Відповідно до вашого зразка коду, наведеного вище: Бібліотеки повинні мати великі літери.
ІгорГанапольський

3
Як ви компілюєте з "завданнями Gradle --info"?
toddmo

8
./gradlew tasks --infoце покаже інформацію про всі завдання. Я думаю, що це було б корисно, щоб з’ясувати, що йде не так.
srain

60

Я забув витягнути всі підмодулі. Так моє

compile project(':something')

не вдалося вирішити.

Рішення

git submodule update --init

2
Поясніть, будь ласка, в якій папці я повинен запустити цю команду - папка проекту чи папка підмодуля
Ajith Memana

1
на це слід прийняти відповідь. оманливе повідомлення про помилку в більшості випадків означає, що ви забули клонувати підмодулі
пильнування

1
У моєму випадку я важко забув видалити підмодуль із файла settings.gradle. Тож будьте обережні! : D
Ярослав Гаврилович

20
compile fileTree(dir: '//you libraries location//', include: ['android-ColorPickerPreference'])

Використовуйте верхній рядок у файлі gradle додатка замість

compile project(':android-ColorPickerPreference')

Сподіваюся, це допомагає


19

Наступна процедура вирішила мою проблему:

  • Перейдіть до налаштувань підпроекту / модуля бібліотеки. (натиснутиF4 після вибору модуля)
  • Клацніть правою кнопкою миші на Додати> 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'у ваші налаштування.gradle

Коли я вибираю параметри модуля проекту бібліотеки, це не варіант, і f4 нічого не робить.
Даніель Бафман

1
@DanielBaughman, будь ласка, уточнюйте свій запит, але якщо ви все ще не можете знайти налаштування модуля, ви можете зробити дві речі: 1) Перейдіть у меню Файл> Імпортувати модуль та виконайте дії, Android Studio автоматично додасть файл build.gradle та також додайте залежності. 2) Додайте файл build.grade вручну, напишіть у ньому сценарій, і ваша проблема буде вирішена.
Ахмад Алі Насір

1
Дякую за твою допомогу. Що я зробив - це фактично помістити папку, яку я імпортував, до проекту - імпортував модуль, а потім у своїх властивостях проекту посилався на вихідний модуль, який я націлив, щоб імпортувати як бібліотеку, а не нову папку модуля, яку він створив. Я скоригував цю посилання і це виправив.
Даніель Бафман

12

Я також стикався з цією помилкою - я забув створити сценарій build.gradle для бібліотечного проекту.


10

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

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

Єдина проблема полягала в тому, що я щойно імпортував модуль з Eclipse забув перемістити каталог за межами мого прикладного проекту, тобто шлях '../../MyModule'не існував.


Це було більш-менш і моє питання. У мене було занадто багато ../на шляху, і це не вказувало на правильне місце. Це особливо важко відстежити, оскільки Android Studio / Gradle створить каталог, якщо його не існує. Замість того, щоб кидати просту помилку, кажучи "Ні".
Джошуа Пінтер

7

Моє рішення - просто видалити рядок з файлу settings.gradle, який представляє модуль, який не існує:

include ':somesdk'

а також видаліть відповідний рядок з основного проекту build.gradle:

compile project(':somesdk')

6

У мене виникла проблема з підмодулем git при отриманні цієї помилки. Спробуйте запустити gradle tasks --infoбільш детальний опис проблеми. Я вперше використав gradle tasks --debug, що було не так вже й корисно --info.


5

Припустимо, ви хочете додати до свого проекту бібліотеку (наприклад, MyLib), слід виконати наступні кроки:

  1. Підготуйте свою бібліотеку як бібліотеку Android для Android, якщо тип вашої бібліотеки - Eclipse ADT
    Для цієї роботи достатньо імпортувати її в Android Studio
  2. Скопіюйте папку вашої бібліотеки, в цьому випадку папку MyLib, і вставте її в основну папку проекту. Рекомендується створити нову папку в основній папці проекту та назвати її Бібліотеки
  3. Перейдіть до Android Studio і відкрийте файл Settings.gradle , там ви маєте включити свою бібліотеку до свого основного проекту. Наприклад include ':MyPrj', 'Libraries:MyLib'. Примітка : Поточний каталог для цього оператора включає в себе основну папку проекту. Якщо ви вставите проект у папку, ви повинні вказати його адресу відносно основного каталогу проекту. У своєму випадку я вставляю MyLib у папку Бібліотеки . Ця назва бібліотек не є ключовим словом, і ви можете вибрати для неї інші назви
  4. Відкрийте сторінку Структура проекту ( Файл -> Структура проекту ... ), натисніть на модулі, потім натисніть на ваш основний проект, перейдіть на вкладку залежності, натисніть, +потім виберіть залежність модуля, і там є ваші бібліотеки, і ви можете вибрати їх за своїм бажанням

Сподіваюся, це допоможе


Щоб зрозуміти, перейдіть до проекту github sliding-menu github.com/jfeinstein10/SlidingMenu/tree/master/library і перевірте його структуру! Існує +файл старого формату для android project build.gradle файл !! Дякую, @ABFORCE +1
мертвий рибок

Ця публікація допомогла мені імпортувати OpenCV4Android в Android Studio, тому я буду поручитися за цей метод.
Крейг

5

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


4

Для мене відсутня папка, яка була оголошена під налаштуваннями.gradle .


3

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

Навіть оригінальний автор відповідей не звучить надто впевнено, але варто слідкувати за цим. Крім того, ви нічого не сказали про структуру свого каталогу, тому я припускаю, що це нудні речі за замовчуванням, але не можу точно знати.


2

Ще одна потенційна причина цієї точної помилки: я виявив, що ця помилка була усунена, коментуючи деякі невикористані бібліотеки в розділі залежностей build.gradle. Переконайтесь, що ці доріжки та такі всі правильні.

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


2

У мене був подібний випуск і я знайшов дуже простий спосіб додати бібліотеку до проекту.

  1. Створіть папку "libs" у корені вашого проекту.
  2. Скопіюйте файл JAR у цю папку.
  3. Поверніться до Android Studio, знайдіть свій файл JAR та клацніть правою кнопкою миші, виберіть "Додати як бібліотеку ...", він запитає лише до того, до якого модуля ви хочете його додати, виберіть "додаток".

Тепер у вашому модулі "app" ви можете використовувати класи з цього JAR, він зможе знаходити та додавати "імпорт" декларацій автоматично та компілювати просто добре. Єдине питання може полягати в тому, що він додає залежність з абсолютним шляхом, як:

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

    compile 'com.google.android.gms:play-services:4.0.+'

1

Коли я імпортував свою бібліотеку вручну, у мене була така ж проблема. Я спробував додати свою бібліотеку з файлом> модуль імпорту, і це вирішило мою проблему.


1

У моєму випадку я отримав цю помилку, коли неправильно написав назву модуля бібліотеки (залежності) у build.gradleфайлі.

Тому не забудьте перевірити, чи правильно вказано ім'я модуля.

build.gradle

dependencies {
    compile project(':module-name-of-the-library')
}

1

Нещодавно я зіткнувся з цією помилкою, коли переспросив проект, який був ініціалізований через підмодуль git.

Я нарешті з’ясував, що у кореневому build.gradleфайлі підмодуля (проект java) не використовувався плагін java на рівні кореня.

Це тільки було

apply plugin: 'idea'

Я додав плагін Java:

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

Щойно я застосував плагін Java, повідомлення "за замовчуванням не знайдено" зникло, і збірка вдалася.


1

Також ... перевірте, чи є у вас файли модулів всередині вашого проекту.

Наприклад, у мене є додаток, який використовує модуль Volley. Під час навчання розробці Android я випадково видалив файли, що знаходилися в каталозі "залп".

~/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 (Інструменти> 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

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 ("enableLocalEdits", true)) на false у settings.xml.


0

Для мене одна із залежних бібліотек не існує правильним шляхом, але повідомлення про помилку не вказує на ТОБІ бібліотеку правильно.

Наприклад, те, що я пропустив, є, :library-3але помилка викликає:library-1 .

бідне граду.


-1

Спробуйте додати бібліотеку Volley та синхронізувати та запустити програму. якщо хтось потягнув, і я використовую залп, і помилка відображається як -Android Studio Gradle Конфігурація з назвою "за замовчуванням" не знайдено, виконайте крок додавання бібліотеки залпів у вашому градусі. сподіваюся, що це допомагає. Я очистив свою проблему таким чином.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.