В чем различия различных способов написания зависимостей в Gradle? - PullRequest
0 голосов
/ 21 декабря 2018

Я видел следующие разные способы написания зависимостей в Gradle:

implementation("com.squareup.okhttp3:okhttp:3.12.0")

и

implementation 'com.squareup.okhttp3:okhttp:3.12.0'

и

compile 'com.squareup.okhttp3:okhttp:3.12.0'

Они все разныеспособы достижения одного и того же или есть различия между ними?

Ответы [ 2 ]

0 голосов
/ 21 декабря 2018

build.gradle файлы - это просто Groovy сценарии.Таким образом, его синтаксис применяется здесь

В Groovy вы можете игнорировать круглые скобки при вызове функции, поэтому

implementation 'com.squareup.okhttp3:okhttp:3.12.0'

фактически эквивалентно

implementation('com.squareup.okhttp3:okhttp:3.12.0')

В Groovy вы такжеимеют GString с , которые представлены ".Они содержат встроенные String с.В этом конкретном случае вы не интерполируете какое-либо значение, поэтому оба значения

implementation 'com.squareup.okhttp3:okhttp:3.12.0'

и

implementation "com.squareup.okhttp3:okhttp:3.12.0"

эквивалентны.Помните, что если бы вы хотели интерполировать какое-то значение, вы бы применили метод

implementation "com.squareup.okhttp3:okhttp:$okhttpVersion" // this line works
implementation 'com.squareup.okhttp3:okhttp:$okhttpVersion' // this line doesn't work

compile для определения зависимостей в пользу implementation и api.Вы можете найти больше информации здесь .Вы можете подумать, что если вы как-то выставляете классы ваших зависимостей, вы будете использовать api, но если вы используете зависимости внутри implementation - это хорошо

0 голосов
/ 21 декабря 2018

конфигурация compile устарела и заменена на implementation или api.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...