依赖关系,模块的问题。我如何正确引用此库?

时间:2014-12-05 22:29:58

标签: android gradle android-studio android-gradle

我很困惑。我正在开发一个带有两个模块的Android应用程序。这是我的项目结构

MyProject
   app
      libs
         abc.jar
      src
      etc...
   importedProject
      libs
      src
      etc...
      build.gradle
   build.gradle

如果我右键单击abc.jar,然后选择Add as Library...,则会出现一个对话框,询问我要添加哪个模块appimportedProject

如果我选择importedProject,它会为importedProject的build.gradle文件添加依赖项..但它使用我硬盘上文件的完整路径。

compile files('C:/Users/my.name/workspace/MyProject/app/libs/abc.jar')

我很困惑为什么它使用完整的本地路径而不是相对路径。 Android Studio甚至警告我不要这样做,但它会为我做。

我已经尝试过这些但没有工作:

compile files('app/libs/abc.jar')
compile files('MyProject/app/libs/abc.jar')

任何人都知道我在这里做错了什么?谢谢

修改

使用它来工作:

compile files('../app/libs/abc.jar')

但是,我读过使用相对路径是一个坏主意。有更好的解决方案吗?

1 个答案:

答案 0 :(得分:1)

Gradle构建文件中的路径通常相对于构建文件的位置。在这种情况下,您希望路径相对于 root 项目。

compile files("${rootProject.projectDir}/app/libs/abc.jar")