Android Studio: Зависимости моментальных снимков не обновляются должным образом

Я работаю с Android Studio 8.9

У меня есть build.gradle со следующей зависимостью:

compile ('my.program.commons:my-program-commons:[email protected]')

Эта зависимость хранится в частном репозитории сонатного типа Sonatype.

Когда я вношу изменения в код my.program.commons, я загружаю в nexus.

Проблема в том, что, когда я пытаюсь скомпилировать новую студию SNAPSHOT, вы не сможете забрать изменения.

При запуске из командной строки gradle будет выполняться успешно - но Android Studio не узнает новые файлы.

Если я сделаю тикет версии - скажем от 0.0.2-SNAPSHOT до 0.0.3-SNAPSHOT Android Studio поймет новую версию и скачаю, и все будет хорошо.

Я не хочу, чтобы при каждом изменении менялась незначительная версия.

Ответ 2

В моем случае использование changing = true не работает для меня. Но настройки модулей смены кеша решают мою проблему. Пример кода ниже, добавьте файл build.gradle:

configurations.all {
    // Don't cache changing modules at all.
    resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
}

Смотрите: https://docs.gradle.org/current/userguide/dependency_management.html

Ответ 3

Вы также можете поместить флаг "change" , который будет запускать Gradle, чтобы всегда вытащить последнее, например:

compile ('my.program.commons:my-program-commons:[email protected]') {
 changing = true;
}

Ответ 4

В моем случае удаление всего каталога <project_root>/.idea/libraries было единственным решением, которое сработало. AndroidStudio хранит там некоторые конфигурации кэшированных зависимостей. Удаление каталога приводит к повторной проверке их всех еще раз.

Вы можете написать некоторый скрипт/задачу, которая будет автоматизировать это удаление и запускать его как часть clean задачи Gradle.