Какая разница между компиляцией, testCompile и предоставлена в зависимости от gradle
Я использую студию android и в структуре проекта → вкладки зависимостей следующие параметры, которые я могу увидеть:
- Compile
- При условии,
- APK
- Тестовая компиляция
- Debug Compile
- Снятие компиляции
мой вопрос: какая разница между компиляцией, testCompile и предоставлена в gradle зависимости
Ответы
Ответ 1
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.+'
}
Это указывает, что для создания вашего кода требуется hibernate-core
, но junit
(структура тестирования) требуется только для тестирования. Поскольку он не нужен во время выполнения, он не будет включен в выпущенный пакет.
Ответ 2
Вам следует прочитать Руководство пользователя, которое поставляется с дистрибутивом, или прочитать его в Интернете http://gradle.org/documentation/.
Короче говоря, "компиляция" предназначена для зависимостей для вашего "основного" кода "testCompile" для ваших тестовых классов, а "предоставленный" используется для зависимостей, которые используются во время компиляции, но не хранится в вашем файле WAR ( потому что ожидается, что они будут доступны в вашем веб-контейнере).
Следующая публикация может иметь соответствующую информацию: Компилировать, предоставить, APK - область зависимостей Android.