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

Abd*_*man 38 android gradle

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

  1. 提供
  2. APK
  3. 测试编译
  4. 调试编译
  5. 发布编译

我的问题:compile,testCompile和gradle依赖项之间的区别是什么

mar*_*gio 37

compile是构建应用程序所需的依赖关系组,testCompile而是一组仅用于测试的依赖关系.

看看这个例子build.gradle(取自这里)

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.+'
}
Run Code Online (Sandbox Code Playgroud)

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