Не удалось разрешить активную зависимость Android в Gradle, когда Active Android включен в библиотеку
У меня есть проект библиотеки, который включает в себя активный Android с использованием Gradle. Чтобы заставить его работать, я должен добавить
compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'
и добавьте репозиторий для него так:
repositories {
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}
Однако, если я делаю это в проекте библиотеки, я получаю ошибку:
Error:A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugCompile'.
> Could not find com.michaelpardo:activeandroid:3.1.0-SNAPSHOT.
Searched in the following locations:
https://jcenter.bintray.com/com/michaelpardo/activeandroid/3.1.0-SNAPSHOT/maven-metadata.xml
https://jcenter.bintray.com/com/michaelpardo/activeandroid/3.1.0-SNAPSHOT/activeandroid-3.1.0-SNAPSHOT.pom
https://jcenter.bintray.com/com/michaelpardo/activeandroid/3.1.0-SNAPSHOT/activeandroid-3.1.0-SNAPSHOT.jar
file:/Users/user/AndroidSDK/extras/android/m2repository/com/michaelpardo/activeandroid/3.1.0-SNAPSHOT/maven-metadata.xml
file:/Users/user/AndroidSDK/extras/android/m2repository/com/michaelpardo/activeandroid/3.1.0-SNAPSHOT/activeandroid-3.1.0-SNAPSHOT.pom
file:/Users/user/AndroidSDK/extras/android/m2repository/com/michaelpardo/activeandroid/3.1.0-SNAPSHOT/activeandroid-3.1.0-SNAPSHOT.jar
file:/Users/user/AndroidSDK/extras/google/m2repository/com/michaelpardo/activeandroid/3.1.0-SNAPSHOT/maven-metadata.xml
file:/Users/user/AndroidSDK/extras/google/m2repository/com/michaelpardo/activeandroid/3.1.0-SNAPSHOT/activeandroid-3.1.0-SNAPSHOT.pom
file:/Users/user/AndroidSDK/extras/google/m2repository/com/michaelpardo/activeandroid/3.1.0-SNAPSHOT/activeandroid-3.1.0-SNAPSHOT.jar
Required by:
Condeco:app:unspecified > Condeco:common:unspecified
Я добавляю свой библиотечный модуль так:
dependencies {
compile project(':common')
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
}
Чтобы устранить эту ошибку, я должен добавить репозиторий в основной модуль приложения так же:
repositories {
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}
Когда я делаю это, проект компилируется нормально.
Можно ли заставить мой проект компилироваться с репозиториями, определенными только в проекте библиотеки, без необходимости добавления репозитория в основной модуль приложения? Я просто хочу, чтобы модуль библиотеки заботился о себе.
1 ответ
Я также столкнулся с этой ошибкой, и решение идет так.
Вы должны редактировать build.gradle
андроида app
модуль.
apply plugin: 'com.android.application'
// Add this block
buildscript {
repositories {
}
dependencies {
}
}
repositories {
mavenCentral()
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}
// End of this block
android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
..... //Replace dots with your code
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
.... //Replace dots with your code
compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT' //Add this line
}
Надеюсь это поможет.