compile,testCompile和gradle依赖项之间有什么区别

时间:2016-06-14 23:04:48

标签: android gradle

我正在使用android studio和项目结构 - >我可以看到依赖选项卡以下选项:

  1. 编译
  2. 本发明提供
  3. APK
  4. 测试编译
  5. 调试编译
  6. 发布编译
  7. 我的问题:compile,testCompile和gradle依赖项中提供的区别

2 个答案:

答案 0 :(得分:33)

compile是构建应用程序所需的依赖项组,而testCompile是一组只需要进行测试的依赖项。

查看此build.gradle(取自here

的实例
apply plugin: 'java'

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
    testCompile group: 'junit', name: 'junit', version: '4.+'
}

这指定构建代码需要hibernate-core,但仅需要junit(测试框架)进行测试。由于在运行时不需要它,因此它不会包含在已发布的包中。

答案 1 :(得分:0)

您应阅读发行版附带的“用户指南”,或在http://gradle.org/documentation/在线阅读。

简而言之,“compile”用于“main”代码的依赖项,“testCompile”用于测试类,“provided”用于编译时使用的依赖项,但不存储在WAR文件中(因为它们可以在你的网络容器中使用。)

以下帖子可能包含相关信息:Compile, Provided, APK - Android dependency scope