【问题标题】:Android Gradle module dependanciesAndroid Gradle 模块依赖项
【发布时间】:2013-07-07 00:43:41
【问题描述】:

我在使用 Gradle 在 Android 上构建项目时遇到问题。

我的项目结构如下:

root
 settings.gradle
 build.gradle

   - Project 1 (android studio "module")
      build.gradle

   - Project 2 (android studio "module")
      build.gradle

如果我选择项目 1 并编译,它可以工作 如果我选择项目 2 并编译,它也可以工作

现在,我希望项目 2 依赖于项目 1,以重用我的一些应用程序逻辑。

按照我尝试在项目 2 build.gradle 中添加的文档

dependencies {
    compile project(':Project1')
}

但它不起作用。

我的 settings.gradle 包含:

include ':Project1', ':Project2'

【问题讨论】:

  • 欢迎来到 Stackoverflow!如果您发现回复有帮助,请投票。如果回复成功回答了您的问题,请点击旁边的绿色复选标记接受答案。另请查看 stackoverflow.com/questions/how-to-ask 以获取有关如何写出好问题的建议

标签: android gradle


【解决方案1】:

您应该在您的库项目 (project1) 中应用插件 android-library

buildscript {
  repositories {
    mavenCentral()
  }

  dependencies {
    classpath 'com.android.tools.build:gradle:0.5.+'
  }
}

apply plugin: 'android-library'

android {
  compileSdkVersion 17
}

链接到Gradle documentation关于制作图书馆项目。

【讨论】:

    【解决方案2】:

    如果您想重用 Project1 中的一些逻辑,您应该创建一个库项目 Project3-lib。将你的可重用代码移动到这个新项目中,让 Project1 和 Project2 依赖它。

    你可以这样做:

    settings.gradle

    include ':Project3-lib', ':Project1', ':Project2'
    

    在您的 Project1Project2 中添加新的 lib 项目

    dependencies {
        compile project(':Project3-lib')
    }
    

    在您的顶级 gradle.build 文件中(这样您的所有项目构建文件中都不需要它)

    buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:0.5.6'
        }
    }
    

    在您的新 Project3-lib 项目中,您必须应用 android-library 插件而不是 android 插件

    apply plugin: 'android-library'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-11
      • 2018-06-08
      • 2018-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-20
      相关资源
      最近更新 更多