В Android Studio я пытаюсь скомпилировать модуль приложения Android, который использует библиотеку Android.
Библиотека включает файл jar для Bugsense (автоматически включается gradle).
Хотя библиотечный модуль компилируется правильно, модуль приложения дает сбой, потому что он ищет JAR-файл Bugsense, который используется в библиотечном модуле.
У меня есть обходной путь, который позволяет компилировать проект. При включении в проект зависимости от Bugsense все работает.
Мой вопрос: как мне скомпилировать проект без дублирования зависимости Bugsense?
Вот мой файл build.gradle для проекта библиотеки.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.6.+'
}
}
apply plugin: 'android-library'
repositories {
mavenCentral()
maven { url 'http://www.bugsense.com/gradle/' }
}
android {
compileSdkVersion 15
buildToolsVersion "19.0.0"
defaultConfig {
minSdkVersion 15
targetSdkVersion 15
}
}
dependencies {
compile 'com.bugsense.trace:bugsense:3.6'
}
Проект библиотеки называется "util"
Ниже приведен раздел Android в файле build.gradle для приложения.
android {
compileSdkVersion 15
buildToolsVersion '19.0.0'
defaultConfig {
minSdkVersion 15
targetSdkVersion 15
}
dependencies {
compile project(':util')
}
}
Когда я компилирую это, я получаю следующую ошибку:
* What went wrong:
A problem occurred configuring project ':br'.
> Failed to notify project evaluation listener.
> Could not resolve all dependencies for configuration ':br:_DebugCompile'.
> Could not find com.bugsense.trace:bugsense:3.6.
Required by:
dss:br:unspecified > dss:util:unspecified
Я могу заставить компиляцию работать, добавив Bugsense в раздел репозиториев файла build.gradle для приложения. Ниже приведен код, который я добавил в файл build.gradle для проекта приложения.
repositories {
mavenCentral()
maven { url 'http://www.bugsense.com/gradle/' }
}
Помните, что приведенный выше код находится в build.gradle для проекта приложения И библиотеки.
Как избежать добавления зависимости Bugsense как в приложения, так и в проекты библиотек?
ОБНОВЛЕНИЯ:
Я использую Gradle 1.8
Я компилирую из командной строки с помощью "gradle clean assembleDebug"
Ниже приведен полный файл build.gradle для проекта приложения:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.6.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
//maven { url 'http://www.bugsense.com/gradle/' }
}
android {
compileSdkVersion 15
buildToolsVersion '19.0.0'
defaultConfig {
minSdkVersion 15
targetSdkVersion 15
testPackageName "com.myapp.test"
}
dependencies {
compile project(':common')
compile project(':util')
}
}
dependencies {
instrumentTestCompile 'com.jayway.android.robotium:robotium-solo:4.3'
instrumentTestCompile 'com.squareup:fest-android:1.0.+'
instrumentTestCompile 'com.squareup.spoon:spoon-client:1.0.+'
instrumentTestCompile 'com.google.guava:guava:15.0'
}
configurations { spoon }
dependencies { spoon 'com.squareup.spoon:spoon-runner:1.0.5' }