web-dev-qa-db-fra.com

Quelle est la différence entre compile, testCompile et fourni en dépendance de gradle

J'utilise Android studio et dans la structure du projet -> onglet dépendances options suivantes que je peux voir:

  1. Compiler
  2. À condition de
  3. APK
  4. Test Compiler
  5. Debug Compile
  6. Libérer compiler

ma question: quelle est la différence entre compile, testCompile et fournie en dépendance de gradle

35
Abdul Rahman

compile est le groupe de dépendances dont vous avez besoin pour construire votre application tandis que testCompile est un groupe de dépendances dont vous n’avez besoin que pour les tests.

Regardez par exemple à ce build.gradle _ (extrait de ici )

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.+'
}

Ceci spécifie que hibernate-core est nécessaire pour construire votre code mais junit (un framework de test) est nécessaire uniquement pour les tests. Comme il n'est pas nécessaire au moment de l'exécution, il ne sera pas inclus dans le package publié.

36
mariosangiorgio