Мой вопрос прост, который я не уверен, как справиться.Зависимости от компиляции Android - Gradle Build
При компиляции библиотеки в Gradle, я использую приведенный ниже код:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:cardview-v7:21.0.+'
compile 'com.android.support:recyclerview-v7:21.0.+'
compile 'com.android.support:design:22.2.+'
compile 'com.android.support:appcompat-v7:22.2.+'
}
Это дает мне то, что я хочу, и у меня нет никаких проблем вообще. Я предполагаю, что код выше гарантирует, что последняя версия каждой зависимости будет скомпилирована, когда приложение будет построено (следовательно, знак «+» в конце каждого оператора). Тем не менее, я видел во многих местах в Интернете, где одни и те же строки кода, как показано ниже, без знака «+»:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:cardview-v7:21.0.0'
compile 'com.android.support:recyclerview-v7:21.0.0'
compile 'com.android.support:design:22.2.0'
compile 'com.android.support:appcompat-v7:22.2.0'
}
Там нет заметных различий, и оба прекрасно работают так же. Но как разработчик с намерениями иметь долгосрочную поддержку приложения, который я должен использовать? С или без добавленного знака «+». Каковы возможные выгоды или проблемы при использовании одного над другим? Любая обратная связь будет высоко оценена.
Вы должны использовать с "+". Вам не нужно беспокоиться об обновлениях. Если доступна обновленная версия библиотеки, Android Studio автоматически скомпилирует обновленную библиотеку. Однако, если обновленная библиотека содержит ошибки, возможно, вам придется изменить более старый номер версии. – myatmins
, если вы включите lints, он говорит: «Избегайте использования + в номерах версий, может привести к непредсказуемым и неповторимым сборкам». – Onheiron