Ответ 1
Добавьте папку своей библиотеки в корневую папку вашего проекта и скопируйте туда все файлы библиотеки. Для ex YourProject/library затем синхронизируйте его, и все остальное мне кажется ОК.
Я использую библиотеку volley для выполнения работы в сети в android. Поэтому я пытаюсь добавить эту библиотеку в свой проект, созданный в Android Studio и gradle.
Я добавил библиотеку volley в свой проект, но когда я синхронизируюсь с gradle, я получаю сообщение об ошибке. Я пробовал все ответы, которые я вижу здесь, но ничего не работало для меня.
Сообщение об ошибке: Конфигурация с именем 'default' не найдена в Android Studio
Volley/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'
Добавьте папку своей библиотеки в корневую папку вашего проекта и скопируйте туда все файлы библиотеки. Для ex YourProject/library затем синхронизируйте его, и все остальное мне кажется ОК.
Try:
git submodule init
git submodule update
Это, вероятно, редкий случай, но для меня библиотека, которая была включена в settings.gradle, не была там.
например. У меня было: include ':libraries:Android-RateThisApp:library'
в моих настройках .gradle
но папка Android-RateThisApp была пуста. Как только я проверил этот подмодуль, произойдет синхронизация gradle.
Если вы хотите использовать одну и ту же папку библиотеки для нескольких проектов, вы можете ссылаться на нее в gradle на внешнее местоположение, подобное этому:
settings.gradle:
include 'app', ':volley'
project(':volley').projectDir = new File('../libraries/volley')
в вашем приложении build.gradle
dependencies {
...
compile project(':volley')
...}
Я также сталкиваюсь с этой проблемой, но я выполняю следующие шаги: 1) Я добавляю модуль (Библиотека) к определенному имени папки ThirdPartyLib
Чтобы решить эту проблему, я перейду settings.gradle, чем просто добавлю следующее: -
project (':'). projectDir = новый файл ('ThirdPartyLib/')
: - имя модуля...
Проверьте файл 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>') //
Чтобы быстро диагностировать эту ошибку, перейдите на терминал или используйте терминал, встроенный в Android Studio (доступный в нижней строке состояния). Перейдите в главный каталог вашего PROJECT (где находится settings.gradle
).
1.) Убедитесь, что ваш settings.gradle
включает подпроект. Что-то вроде этого. Это гарантирует, что ваша многопроектная сборка знает о вашем подпроекте вашей библиотеки.
include ':apps:App1', ':apps:App2', ':library:Lib1'
Если текст между двоеточиями является подкаталогами.
2.) Запустите следующую команду gradle, просто посмотрите, может ли gradle предоставить вам список задач для библиотеки. Используйте те же квалификаторы в определении settings.gradle
. Это откроет проблемы с библиотекой build script в изоляции.
./gradlew :library:Lib1:tasks --info
3.) Убедитесь, что на выходе с последнего шага указана задача "собиратьDefault". Если он не удостоверился, что в библиотеку включен плагин Android Library в build.gradle
. Как это на самом верху.
apply plugin: 'com.android.library'
Я знаю, что на исходный вопрос по постерам был дан ответ, но я считаю, что ответ за последний год изменился, и я думаю, что существует множество причин ошибки. Я думаю, что этот поток резолюции должен помочь тем, кто сталкивается с различными проблемами.
Для меня (в соответствии с некоторыми комментариями, которые я видел) проблема заключалась в том, что 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 file. Затем я просто ссылался на него в моих зависимостях моего файла build.gradle приложения, такого как
...
dependencies {
....
compile project(':android-map-utils')
....
}
Я рекомендую импортировать один модуль за раз, компилируя и проверяя его.