android - Gradle 无法解决本地 aar 依赖

标签 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 应用程序。

在沙箱的 gradle 我有:

// 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

感谢您的帮助!

最佳答案

问题是那一行: 编译('com.op.rfgen:0.0.1@aar)。应该是... compile('com.op:rfgen:0.0.1@aar)... :D

关于android - Gradle 无法解决本地 aar 依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57818166/

相关文章:

尝试访问 Nexus 私有(private)存储库时,maven 收到 "Not Authorized"

android - Dagger 2 : Scoping and handling release/cleanup of provided injection

java - android中recyclerview的分页

java - WireMock 失败并出现 NoSuchMethodError HttpServletResponse.getHeader

java - Java有权威的公共(public)图书馆索引吗?

java - Jersy/Jetty 服务器未找到 MessageBodyWriter 错误

android - 将 CMake 和 ndk-build 外部库集成到 Android Studio 项目中

android - 错误 :Cause: unable to find valid certification path to requested target

android - wdullaer日期时间选择器库导致支持库不同版本错误

java - 在访问其他 Activity 之前, Activity 不会渲染数组列表