2016-08-22 219 views
1

我有一个Android项目分为两个模块:app(主应用程序)和mylibrary。我有一个myaarfile.aar文件,我想添加到磁带库中。我在MacOSX上工作(不确定这很重要)。Gradle flatDir模块路径

在在MyLibrary gradle文件我已经指定:

compile(name:'myaarfile', ext:'aar') 

,并在全球gradle这个文件我已经把这个:

allprojects { 
    repositories { 
     jcenter() 
     flatDir { 
      dirs 'file:/Users/myuser/myproject/mylibrary/libs' 
     } 
    } 
} 

,它工作正常。但是这条道路存在一个明显的问题,我希望将其普及化。但是,将其更改为:

dirs '${rootDir}/libs' 

没有工作,原因是gradle这个寻找的AAR:

文件:/用户/ myuser的/ myproject的/在MyLibrary/$ {} ROOTDIR /库/ myaarfile.aar

改变路径:

dirs '/libs' 

没有任何工作,事业gradle这个一直在寻找AAR在:

文件:/libs/myaarfile.aar

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

编辑:

找到了!

flatDir { 
    dirs "${project(':mylibrary').projectDir}/libs" 
} 

回答

1

找到了!

flatDir { 
    dirs "${project(':mylibrary').projectDir}/libs" 
} 
0
+0

这工作,但只有当我把aar放入主模块(app/libs文件夹)。如果它在mylibrary/libs中,我必须使用'EDIT'中的路径。 – user5981074

+0

嘿!如果解决了这个问题,请将您的编辑答案放在下面的真实答案中。回答你自己的问题并没有问题,你只需要等待几天,直到你可以正式将其标记为答案。 –