Ошибка: конфигурация с именем по умолчанию не найдена в Android Studio

117

Я использую библиотеку volley для выполнения сетевых операций в android. Поэтому я пытаюсь добавить эту библиотеку в свой проект, созданный в Android Studio и системе Gradle.

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

Сообщение об ошибке : конфигурация с именем default не найдена в 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'

        }
    }
}

Приложение / 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')
}

корень / 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'
Bot
источник
Вы добавили папку библиотеки в правильное место, например имя проекта / библиотека ??
Ajay S,
Я добавил каталог библиотеки в каталог приложения
Bot
1
В моем случае один из моих конфигурационных файлов Gradle отсутствует. Это неправильно.
Zar E

Ответы:

68

Добавьте папку библиотеки в корневой каталог вашего проекта и скопируйте туда все файлы библиотеки. Например, YourProject / library, затем синхронизируйте его, и все остальное мне кажется нормальным.

Аджай С
источник
5
Это также может означать, что файл build.gradle или файлы .iml отсутствуют в каталогах библиотек
WKS
7
@aleb , чтобы получить полное сообщение об ошибке нужно просто выполнить команду терминала: ./gradlew assembleDebug. Вы можете сделать это из Android Studioвнешнего терминального приложения.
одиннадцать
Можете выложить пример и фото? спасибо, потому что этот метод не работает
Спасибо, приятель, что спас мне день. Спасибо <3
Гуфран Хуршид
1
Это привело меня к осознанию того, что мне не хватало своих подмодулей, что более подробно раскрыто в ответе @ViliusK.
Ionoclast Brigham
96

Пытаться:

git submodule init
git submodule update
ViliusK
источник
1
Это определенно работает для библиотек, которые добавляются как подмодули, спасибо!
Arne
@Vilius, из какого каталога мне запустить это в Терминале? Я пытался запустить его в каталоге своего проекта, но он говорит Not a git repository (or any of the parent directories). У меня есть образец приложения, которое я пытался импортировать, но он не был настроен для Gradle, поэтому они его обернули. Интересно, это часть проблемы. На самом деле у меня даже settings.gradleфайла нет. Только build.gradleи некоторые другие.
Azurespot 05
2
Вы должны запускать из корневого каталога проекта. Это должен быть проект из репозитория git. И это должен быть проект с подпроектами. Поищите в build.gradleфайле что-то вродеcompile project(':libs:my-custom:library')
ViliusK 05
1
> Подмодуль позволяет вам сохранить другой репозиторий Git в подкаталоге вашего репозитория. Другой репозиторий имеет свою собственную историю, которая не влияет на историю текущего репозитория. Это можно использовать для получения внешних зависимостей, например, сторонних библиотек. источник
ViliusK 04
3
Как подмодуль git имеет какое-либо отношение к ошибке сборки gradle?
teddy
22

Вероятно, это редкий случай, но для меня библиотеки, которая была включена в settings.gradle, не было.

Например, у меня было: include ':libraries:Android-RateThisApp:library'в моем settings.gradle

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

alexgophermix
источник
Да, наверное, приходилось git submodule initи git submodule update. Это частый случай при проверке проекта с подмодулями.
ViliusK 05
совсем не редкость .... это случай для меня с такой ошибкой .. НЕСКОЛЬКО времени.
sirvon
Так было со мной! Обновлены response-native-maps и изменен путь к каталогу android
cbartondock
14

Если вы хотите использовать одну и ту же папку библиотеки для нескольких проектов, вы можете ссылаться на нее в gradle во внешнем расположении, например:

settings.gradle:

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

в вашем приложении build.gradle

dependencies {
    ...
    compile project(':volley')
...}
Бьорн Кечел
источник
Это сработало для меня, когда у меня был целый проект в качестве подмодуля, но я хотел использовать только модуль библиотеки этого проекта (и исключить пример приложения).
phreakhead
6

Я также столкнулся с этой проблемой, но я выполняю следующие шаги: - 1) Я добавляю модуль (библиотеку) в конкретную папку с именем ThirdPartyLib.

Чтобы решить эту проблему, я захожу в settings.gradle, а не просто добавляю следующее: -

проект (':'). projectDir = новый файл ('ThirdPartyLib /')

: - имя модуля ...

sharma_kunal
источник
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.) Убедитесь, что в выходных данных последнего шага указана задача "AssemblyDefault". Если он не удостоверился, что библиотека включает плагин Android Library build.gradle. Вот так на самом верху.

apply plugin: 'com.android.library'

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

PaulR
источник
3

Проверить settings.gradleфайл. Включенные модули могут отсутствовать или находиться в другом каталоге. Например, в строке ниже settings.gradlegradle ищет 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>') // 
Devrim
источник
0

Для меня (согласно некоторым комментариям, которые я видел) проблема заключалась в том, что gradle не смог найти build.gradle для импортированной библиотеки. Эта конфигурация проста, но сообщение об ошибке немного загадочно. Например, я использовал проект android-map-utils и должен был включить его в свой settings.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')
    ....

    }

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

angryITguy
источник
0

Если предположить, что вы заметили эту ошибку после удаления определенных узловых модулей, в идеале не должна присутствовать библиотека в build.gradle (Module: app). Его можно удалить вручную и снова синхронизировать проект.

deva11
источник
0

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

settings.gradle, приложение / build.gradle, package.json, MainApplication.java

Предположим, что библиотека - это response-native-vector-icons, тогда ее следует упомянуть в следующих файлах;

В файле 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 добавьте следующее:

Импортируйте зависимость: import com.oblador.vectoricons.VectorIconsPackage;

а затем добавьте: новый VectorIconsPackage () в метод getPackages ().

gbhati
источник
0

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

Удаление этих строк устраняет проблему. Эта строка создается по ссылке rnpm, но это ошибка.

compile project(':react-native-gps')
compile project(':react-native-maps')
HimalayanCoder
источник