Не удалось разрешить активную зависимость 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
}

Надеюсь это поможет.

Другие вопросы по тегам