【问题标题】:gradle dependencies in folder above project项目上方文件夹中的 gradle 依赖项
【发布时间】:2014-09-13 21:41:54
【问题描述】:

如何引用存储在 build.gradle 文件上方文件夹中的 gradle 依赖项?

必须有一些正确的语法吗?我看到的所有参考文献看起来都像

compile ':libs:thirdparty'

但这并不是我真正想要的

所以现在我已经在我的 settings.gradle 文件中尝试了这个

include ':app', ':android-volley'

project(':android-volley').projectDir=new File('../../shared-components/android-volley')

我试图链接我的 android-volley 项目的地方,它被大量修改,所以使用 maven 链接对我没有好处,我想在这个项目和我从事的其他项目之间使用这些文件

这不再允许我的项目正确“同步”,并且 volley 的导入语句不起作用,因为它找不到依赖项

这是 Android Studio / IntelliJ 创建的 .iml 文件

<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="whosay" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
 <component name="FacetManager">
  <facet type="android-gradle" name="Android-Gradle">
  <configuration>
    <option name="GRADLE_PROJECT_PATH" value=":android-volley" />
  </configuration>
</facet>
<facet type="java-gradle" name="Java-Gradle">
  <configuration>
    <option name="BUILD_FOLDER_PATH" />
  </configuration>
</facet>
</component>
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
  <excludeFolder url="file://$MODULE_DIR$/.gradle" />
  <excludeFolder url="file://$MODULE_DIR$/build" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

怎么了?

【问题讨论】:

  • 您通常会使用包含所有项目的 settings.gradle 文件,并直接在主项目的 build.gradle 文件中引用该库。 (compile project(':mylibrary'))
  • 这对您有帮助吗? stackoverflow.com/questions/24658422/…
  • 您是说您想从lib 目录中获取一些jar 到您的编译类路径中吗?
  • @ScottBarta 似乎是正确的轨道,但我仍然遇到问题
  • 它是从命令行构建的吗?

标签: android gradle dependencies android-gradle-plugin


【解决方案1】:

可能你忘记在 app build.grade 文件中添加依赖了:

类似这样的:

dependencies {
     compile project(path: ':android-volley')
}

【讨论】:

    【解决方案2】:

    打开您的 settings.gradle 文件,您应该会看到 include:app。 “app”部分是您的应用程序的主要模块,但说您想添加一个 gradle 库:您可以将 lib 文件夹添加到存储“app”模块的相同位置,然后转到 settings.gradle 和下方include:app,输入include:&lt;your lib name here&gt;。然后同步 gradle 文件,你应该很高兴。确保 app 模块和你的 lib 模块使用相同的 android 版本和 sdk 版本。

    【讨论】:

    • 我不喜欢这样,因为我故意将常用(和修改过的)库放在外部文件夹中,这样我的其他应用程序就可以在不复制它们的情况下使用它们,所以没有将它们全部放在 Maven 或制作一个 git 子模块,这似乎是一个糟糕的解决方案,这是唯一的解决方案吗?
    • 据我所知,是的。我发现这样设置真的很容易。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多