Gradle无法解决本地aar依赖性

时间:2019-09-06 08:14:17

标签: android maven gradle

我想将自己的库集成到Android应用程序中。 在将其推送到远程Maven存储库之前,我想检查与本地应用程序的集成。因此,我已将其推送到我的mavenLocal()。 Maven是通过brew install maven

安装的

这是我的问题-Gradle无法解决对我库的依赖。

我得到的错误只是ERROR: Failed to resolve: com.op.rlgen:0.0.1

在库中,我使用maven-publish插件:

apply plugin: 'maven-publish'

publishing {
    publications {
        maven(MavenPublication) {
            groupId 'com.op'
            artifactId 'rlgen'
            version '0.0.1'
            artifact("$buildDir/outputs/aar/rlgen-release.aar")

            pom.withXml {
                // generating pom logic here
            }
        }
    }

    // For `publish` task use mavenLocal
    repositories {
        mavenLocal()
    }
}

使用以下方法在我的Maven上发布库: ./gradlew :rlgen:publishToMavenLocal

在以下路径中,我有2个文件,一个扩展名为aar,第二个扩展名为pom~/.m2/repository/com/op/rfgen

我认为问题是由于主应用程序中的脚本非常复杂而引起的,所以我创建了一个沙箱,清除了Android应用程序。

在沙箱中,我有:

// project level
allprojects {
    repositories {
        mavenLocal()
        google()
        jcenter()
        // also tried with
        maven {
             url "~/.m2/repository"
        }
    }
}

// app level
dependencies {
     compile('com.op.rfgen:0.0.1@aar) {
         transitive = true
     }
}

我检查mavenLocal是否指向正确的文件夹,看来还可以:

// in gradle
repositories {
    println(mavenLocal().url) // file:/Users/op_user/.m2/repository/
}

并且由于以下原因,由于以下原因,我无法向该aar添加依赖项:

ERROR: Failed to resolve: com.op.rlgen:0.0.1:
Affected Modules: app

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

问题是那条线: compile('com.op.rfgen:0.0.1@aar)。应该是... compile('com.op:rfgen:0.0.1@aar) ...:D