【问题标题】:Include aar into aar将 aar 包含到 aar 中
【发布时间】:2016-05-30 09:25:16
【问题描述】:

我有一个以 aar 格式分发的 android 库。它的重量为 300kb。 我想创建另一个库,也是 aar 格式,其中第一个库在依赖项中。 但是结果库的重量是 30kb,所以显然它不包括第一个库。

我尝试使用flatDir 添加第一个库:

repositories {
    flatDir {
        dirs 'libs'
    }
}
dependencies {
    compile(name:'mylib-1.0', ext:'aar')
}

并使用 maven-publish 发布到 mavenLocal:

repositories {
    mavenLocal()
}
dependencies {
    compile 'com.mylib:mylib:1.0.0@aar'
}

但它仍然不包括结果 aar。

如何将我的第一个 aar 包含到结果 aar 中?

【问题讨论】:

    标签: android maven android-gradle-plugin


    【解决方案1】:

    实现它的最佳方法是使用 ma​​ven 存储库分发 aar。

    aar 文件不包含传递依赖项,并且没有描述库使用的依赖项的 pom 文件。
    这意味着,如果您使用 flatDir 存储库导入 aar 文件,您还必须在项目中指定依赖项。

    使用 ma​​ven 存储库,您不会遇到同样的问题。
    在这种情况下,gradle 使用 pom 文件下载依赖项,该文件将包含依赖项列表。

    【讨论】:

    • 抱歉,我没有看到那里回答我的问题。我希望将依赖项打包在结果 aar 中。这该怎么做?关于maven repository 我也没有明白。我该怎么办?我已经使用本地 maven 存储库并且遇到了同样的问题。
    • @anber 据我所知,没有自动方法可以将 aar 包含在另一个 aar 中。如果您使用的是本地 maven,则应检查 pom 文件。在其中您应该具有与其他 lib (aar) 的依赖关系。
    猜你喜欢
    • 1970-01-01
    • 2016-01-06
    • 1970-01-01
    • 1970-01-01
    • 2017-01-15
    • 2015-04-01
    • 2016-01-31
    • 2018-10-18
    • 1970-01-01
    相关资源
    最近更新 更多