Помилка: конфігурацію з назвою "за замовчуванням" не знайдено в Android Studio


117

Я використовую бібліотеку залпів для роботи з мережею в android. Тому я намагаюся додати цю бібліотеку до свого проекту, який створений в Android Studio та системі gradle.

Я додав бібліотеку залпу у свій проект, але коли я синхронізуюсь з gradle, то я отримую повідомлення про помилку. Я спробував усі відповіді, які я бачу тут, але нічого у мене не вийшло.

Повідомлення про помилку : у Android Studio не знайдено конфігурацію з назвою "за замовчуванням"

Волей / build.gradle

apply plugin: 'android-library'

android {

    compileSdkVersion 19
    buildToolsVersion '19.0.1'

    sourceSets {
        defaultConfig {
            minSdkVersion 8
            targetSdkVersion 19
        }

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

        }
    }
}

app / build.gradle

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.1'

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:19.+'
    compile project(':library:volley')
}

root / build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.9.1'
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}

settings.gradle

include ':app'
include ':library:volley'

Ви додали папку бібліотеки в правильному місці, наприклад, ім'я проекту / бібліотека ??
Ajay S

Я додав каталог бібліотеки в каталог додатків
Bot



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

Відповіді:


68

Додайте папку своєї бібліотеки до кореневого місця свого проекту та скопіюйте всі файли бібліотеки туди. Для колишнього Вашого проекту / бібліотеки потім синхронізуйте його та інші речі мені здаються нормальними.


5
Це також може означати, що у каталогах бібліотеки відсутні файли build.gradle або .iml
WKS,

7
@aleb , щоб отримати повне повідомлення про помилку потрібно просто виконати команду терміналу: ./gradlew assembleDebug. Ви можете зробити це з Android Studioдодатка зовнішнього терміналу.
одинадцять

Чи можете ви розміщувати приклад та фотографії? дякую, адже цей метод не працює
доставляйте

Дякую приятелю, що врятував мені день. Дякую <3
Гуфран Хуршид

1
Це призвело до того, що я розумію, що мені не вистачає моїх підмодулів, про що більш чітко розгорнуто відповідь @ ViliusK.
Іонокласт Брігхем,

96

Спробуйте:

git submodule init
git submodule update

1
Це безумовно працює для бібліотек, які додаються як підмодуль, дякую!
Арн

@Vilius, з якого каталогу я запускаю це в Terminal? Я спробував запустити його в своєму каталозі проектів, але він говорить Not a git repository (or any of the parent directories). У мене є зразок програми, який я намагався імпортувати, і він не був налаштований для gradle, тому вони завершили його. Цікаво, чи це частина проблеми. Насправді я навіть не маю settings.gradleфайлу. Тільки build.gradleі деякі інші.
Azurespot

2
Ви повинні бігти з кореневого редактора проекту. Це має бути проект від git repo. І це повинен бути проект із підпроектами. Шукайте у build.gradleфайлі щось на зразокcompile project(':libs:my-custom:library')
ViliusK

1
> Підмодуль дозволяє зберігати інше сховище Git у підкаталозі вашого сховища. Інший сховище має свою історію, яка не втручається в історію поточного сховища. Це може бути використано для наявності зовнішніх залежностей, наприклад, від сторонніх бібліотек. джерело
ViliusK

3
Як підмодуль git має щось спільне з помилкою побудови gradle?
плюшевий

22

Це, мабуть, рідкісний випадок, але для мене бібліотека, яка була включена в settings.gradle, там не була.

Наприклад, у мене було: include ':libraries:Android-RateThisApp:library'у моїх настройках.gradle

але папка Android-RateThisApp порожня. Як тільки я перевірив цей підмодуль, синхронізація gradle вдалася.


Так, ви, мабуть, повинні були git submodule initі git submodule update. Це звичайний випадок при перевірці проекту з підмодулями.
ViliusK

взагалі не рідкість .... це стосується мене з цією помилкою сорту..АЛОТ часу.
Сервон

Так було для мене! Оновлено реагування-native-maps, і це змінило шлях до каталогу Android
cbartondock

14

Якщо ви хочете використовувати одну і ту ж папку бібліотеки для кількох проектів, ви можете посилати її в gradle на таке зовнішнє місце:

settings.gradle:

include 'app', ':volley'
project(':volley').projectDir = new File('../libraries/volley')

у вашому додатку build.gradle

dependencies {
    ...
    compile project(':volley')
...}

Це працювало для мене, коли я мав цілий проект як підмодуль, але я хотів лише використати модуль бібліотеки цього проекту (і виключити зразок програми).
freakhead

6

Я також стикаюся з цією проблемою, але я виконую наступні кроки: - 1) я додаю модуль (бібліотека) до певної назви папки ThirdPartyLib

Щоб вирішити цю проблему, я йду settings.gradle, ніж просто додаю наступне:

project (':'). projectDir = новий файл ('ThirdPartyLib /')

: - це ім'я модуля ...


3

Щоб діагностувати цю помилку, швидко перейдіть до терміналу або скористайтеся терміналом, вбудованим в Android Studio (доступний на нижній панелі стану). Перейдіть до головного каталогу свого ПРОЕКТУ (де settings.gradleвін знаходиться).

1.) Перевірте, чи не settings.gradleвключено підпроект. Щось на зразок цього. Це гарантує, що ваша багатопроектна збірка знає про ваш підпроект бібліотеки.

include ':apps:App1', ':apps:App2', ':library:Lib1'

Де текст між колонами є підкаталогами.

2.) Запустіть таку команду gradle, щоб побачити, чи Gradle може дати вам список завдань для бібліотеки. Використовуйте той самий класифікатор у settings.gradleвизначенні. Це дозволить виявити проблеми зі сценарієм побудови бібліотеки ізольовано.

./gradlew :library:Lib1:tasks --info

3.) Переконайтесь, що у висновку з останнього кроку вказано завдання "assembleDefault". Якщо не переконайтеся, що в Бібліотеку входить плагін для бібліотеки Android build.gradle. Як це у самому верху.

apply plugin: 'com.android.library'

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


3

Перевірте settings.gradleфайл. Модулі, які включені, можуть бути відсутніми або в іншому каталозі. Наприклад, з рядком нижче settings.gradle, модуль пошуку gradle common-libвсередині вашого каталогу проекту:

include ':common-lib'

Якщо він відсутній, ви можете знайти та скопіювати цей модуль у проект або посилати його шлях у settings.gradleфайл:

include ':common-lib'
project(':common-lib').projectDir = new File('<path to your module i.e. C://Libraries/common-lib>') // 

0

Для мене (за деякими коментарями, які я бачив) проблема полягала в тому, що gradle не може знайти build.gradle для імпортованої бібліотеки. Ця конфігурація є прямою, але повідомлення про помилку є дещо виразним. Наприклад, я використовував проект android-map-utils і повинен був включити його в мої налаштування.gradle, додавши ці 2 рядки, як це.

include ':android-map-utils'
project(':android-map-utils').projectDir = new File(settingsDir, '..\\..\\modules\\android-maps-utils-master\\library')

Шлях до бібліотеки відповідає файлу settings.gradle мого проекту. Тоді я просто посилаюсь на це в залежності від файлу build.gradle мого додатка, як цього

...

    dependencies {
    ....
        compile project(':android-map-utils')
    ....

    }

Я рекомендую імпортувати один модуль за один раз, компілювати та перевіряти його.


0

Якщо припустимо, що ви виявили цю помилку після видалення певних модулів вузла, в ідеалі не повинно бути присутнім бібліотеку під build.gradle (Модуль: додаток). Його можна видалити вручну і знову синхронізувати проект.


0

Я також зіткнувся з тією ж проблемою, і проблема полягала в тому, що бібліотеки були відсутні у деяких наступних файлах.

settings.gradle, app / build.gradle, package.json, MainApplication.java

Припустимо, бібліотека - це значки react-native-vector-icon, тоді її слід згадати в наступних файлах;

У файл app / build.gradle у розділі залежностей додайте:

компілювати проект (': react-native-vector-icons')

У файл settings.gradle файл у папці android додайте наступне:

включити проект ': react-native-vector-icons' (': react-native-vector-icons'). projectDir = новий файл (rootProject.projectDir, '../node_modules/react-native-vector-icons/android') )

У MainApplication.java додайте наступне:

Імпортуйте залежність: імпортуйте com.oblador.vectoricons.VectorIconsPackage;

а потім додайте: новий метод VectorIconsPackage () у методі getPackages ().


0

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

Видалення цих рядків проблема вирішена. Цей рядок створюється за допомогою посилання rnpm, але є помилкою.

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