Конфигурация силы в зависимости в приложении Gradle для Android

Мне нужно принудительно настроить конфигурацию в gradle в моем приложении для Android, и моя версия gradle - 3.0.1. Ниже приведен старый способ сделать это, и мне нужен эквивалент Gradle 3.0.

releaseCompile project(path: ':androidLibrary', configuration: 'debug')

Моя версия ошибки:

releaseImplementation project(path: ':androidLibrary', configuration: 'debug')

выше дает мне сообщение об ошибке как

Ошибка: невозможно разрешить зависимость для ':main@release/compileClasspath': не удалось разрешить проект:androidLibrary."

Ошибка: невозможно разрешить зависимость для ':main@releaseUnitTest/compileClasspath': не удалось разрешить project:androidLibrary.

1 ответ

Вы пробовали следующее вместо этого?

implementation project(':androidLibrary')

Согласно плагину Google Migrate to Android для Gradle 3.0.0, "нацеливание на конкретный вариант зависимости локального модуля (например, с помощью конфигурации:" отладка ") вызывает следующую ошибку сборки:"

Error:Unable to resolve dependency for ':app@debug/compileClasspath':
  Could not resolve project :library.
Error:Unable to resolve dependency for ':app@release/compileClasspath':
  Could not resolve project :library.

Я думаю, что вы нацелены на конкретный вариант локальной зависимости модуля, когда вы используете release префикс в releaseImplementation и когда вы включаете configuration: 'debug' в этом заявлении:

releaseImplementation project(path: ':androidLibrary', configuration: 'debug')

Далее рекомендуется следующее решение:

"Вместо этого вы должны настроить свои зависимости следующим образом":

dependencies {
    // This is the old method and no longer works for local
    // library modules:
    // debugImplementation project(path: ':library', configuration: 'debug')
    // releaseImplementation project(path: ':library', configuration: 'release')

    // Instead, simply use the following to take advantage of
    // variant-aware dependency resolution. You can learn more about
    // the 'implementation' configuration in the section about
    // new dependency configurations.
    implementation project(':library')

    // You can, however, keep using variant-specific configurations when
    // targeting external dependencies. The following line adds 'app-magic'
    // as a dependency to only the "debug" version of your module.

    debugImplementation 'com.example.android:app-magic:12.3'
}

источник: миграция конфигураций зависимостей для локальных модулей

Другие вопросы по тегам