2016-06-14 6 views
16

Я использую Android Studio и в структуре проекта -> Зависимости вкладки следующие параметры я могу увидеть:чем разница между компиляцией, testCompile и предоставляется в Gradle зависимости

  1. Compile
  2. Предоставлено
  3. APK
  4. Test Compile
  5. Debug Compile
  6. Release Compile

мой вопрос: в чем разница между компиляцией, testCompile и предоставляется в Gradle зависимости

+0

Возможный дубликат [Скомпилировать, предоставлено, APK - область зависимости Android] (http://stackoverflow.com/questions/28472785/compile-provided-apk-android-dependency-scope) – Abe

ответ

18

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 (в рамках тестирования) необходим только для тестирования. Поскольку он не нужен во время выполнения, он не будет включен в выпущенный пакет.

+0

Извините за nitpicking, но shouldn ' t последняя строка: Так как она НЕ нужна во время выполнения, она не будет включена в выпущенный пакет. – bschandramohan

+0

Да. Исправлена. Спасибо за указание – mariosangiorgio

2

Вы должны прочитать Руководство пользователя, которое поставляется с дистрибутивом, или прочитать его онлайн по адресу http://gradle.org/documentation/.

Короче говоря, «компиляция» предназначена для зависимостей для вашего «основного» кода «testCompile» для ваших тестовых классов, а «предоставленный» используется для зависимостей, которые используются во время компиляции, но не хранятся в вашем файле WAR (поскольку ожидается, что они будут доступны в вашем веб-контейнере).

Следующие публикации могут иметь соответствующую информацию: Compile, Provided, APK - Android dependency scope.

+4

Вопрос был отмечен Android. Файлы WAR не применяются –

Смежные вопросы