【问题标题】:Nested aar dependencies not working嵌套的 aar 依赖项不起作用
【发布时间】:2016-11-17 03:05:32
【问题描述】:

为了简化事情,我将调用我正在使用 library_a.aar 和 library_b.aar 的库。

这是我面临的情况。 library_a 已构建并推送到 maven_repository,这里没有问题。 library_b 依赖于 library_a 并添加到 library_b 如下:

repositories {
    maven {
        credentials {
            username USERNAME
            password PASSWORD
        }
        url "https://api.bitbucket.org/1.0/repositories/COMPANY/maven_repository/raw/releases"
    }
}

dependencies {
    ...
    compile 'package:library_a:1.0'
    ...
}

library_b 构建没有错误并上传到 maven_repository。

现在我的应用程序依赖于 library_b,我需要通过提供(如上所述)存储库以及凭据来添加它。

我面临的第一个问题是,为了在我的项目中编译 library_b,它需要按以下方式编译:

dependencies {
    ...
    compile 'package:library_b:1.0@aar'
    ...
}

我必须添加 @aar 否则 gradle 将无法识别它,但我不必对 library_a 执行此操作。

第二个问题是,当我构建应用程序时,我收到警告说它找不到对 library_a 中可用类的引用。我在这里错过了什么?我确实尝试将 transitive=true 添加到 library_a

dependencies {
        ...
        compile ('package:library_a:1.0') {
            transitive = true;
        }
        ...
}

但绝对没有任何效果。我确实检查了 pom 文件,它包含正确的依赖项。 是不是我正在做的事情不受 gradle 支持,我必须在我的应用程序中同时编译 library_a 和 library_b ?

【问题讨论】:

标签: android maven aar gradle-dependencies


【解决方案1】:

听起来您的 maven 存储库仅包含 aar 文件,但没有或错误的 pom 文件。

您是否使用以下 gradle 插件和 uploadArchives gradle 任务来将 aars 上传到您的 maven 存储库? https://github.com/dcendents/android-maven-gradle-plugin

为你的aars 试试这个 gradle sn-p:

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
    }
}

apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'

android { ... }

dependencies { ... }

uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: "https://api.bitbucket.org/1.0/repositories/COMPANY/maven_repository/raw/releases") {
                authentication(userName: USERNAME, password: PASSWORD)
            }
        }
    }
}

然后使用uploadArchives gradle 任务

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-14
  • 1970-01-01
  • 1970-01-01
  • 2018-04-02
  • 1970-01-01
相关资源
最近更新 更多