Gradle flatDir 模块路径

use*_*074 4 android gradle

我有一个Android项目,分为两个模块:app(主应用程序)和mylibrary。我有一个 myaarfile.aar 文件,我想将其添加到 mylibrary 中。我在 MacOSX 上工作(不确定这是否重要)。

在 mylibrarygradle文件中我指定了:

compile(name:'myaarfile', ext:'aar')
Run Code Online (Sandbox Code Playgroud)

在全局 gradle 文件中我放置了以下内容:

allprojects {
    repositories {
        jcenter()
        flatDir {
            dirs 'file:/Users/myuser/myproject/mylibrary/libs'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

而且效果很好。但这条道路有一个明显的问题,我想让它变得普遍。但改为:

dirs '${rootDir}/libs'
Run Code Online (Sandbox Code Playgroud)

不起作用,因为 gradle 正在寻找 aar:

文件:/Users/myuser/myproject/mylibrary/${rootDir}/libs/myaarfile.aar

将路径更改为:

dirs '/libs'
Run Code Online (Sandbox Code Playgroud)

也不起作用,因为 gradle 正在寻找 aar:

文件:/libs/myaarfile.aar

我应该如何指定路径,以便 gradle 能够在正确的文件夹中搜索 aar?不幸的是我无法使用其他方法来添加 aar。

编辑:

找到了!

flatDir {
    dirs "${project(':mylibrary').projectDir}/libs"
}
Run Code Online (Sandbox Code Playgroud)

use*_*074 5

找到了!

flatDir {
    dirs "${project(':mylibrary').projectDir}/libs"
}
Run Code Online (Sandbox Code Playgroud)