Невозможно разрешить зависимость для ': app @ debug / compileClasspath': не удалось разрешить

Недавно установленный Студия Android 3.1.3 выдает странную ошибку зависимостей при создании нового проекта и компиляции в первый раз.

Аналогичный вопрос, который не помог решить проблему.

Журналы событий:

Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve com.android.support:appcompat-v7:28.0.0-alpha3.
Open File
Show Details


Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve com.android.support.constraint:constraint-layout:1.1.2.
Open File
Show Details


Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Could not resolve com.android.support:appcompat-v7:28.0.0-alpha3.
Open File
Show Details


Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Could not resolve com.android.support.constraint:constraint-layout:1.1.2.
Open File
Show Details


Unable to resolve dependency for ':app@debugUnitTest/compileClasspath': Could not resolve com.android.support:appcompat-v7:28.0.0-alpha3.
Open File
Show Details


Unable to resolve dependency for ':app@debugUnitTest/compileClasspath': Could not resolve com.android.support.constraint:constraint-layout:1.1.2.
Open File
Show Details


Unable to resolve dependency for ':app@release/compileClasspath': Could not resolve com.android.support:appcompat-v7:28.0.0-alpha3.
Open File
Show Details


Unable to resolve dependency for ':app@release/compileClasspath': Could not resolve com.android.support.constraint:constraint-layout:1.1.2.
Open File
Show Details


Unable to resolve dependency for ':app@releaseUnitTest/compileClasspath': Could not resolve com.android.support:appcompat-v7:28.0.0-alpha3.
Open File
Show Details


Unable to resolve dependency for ':app@releaseUnitTest/compileClasspath': Could not resolve com.android.support.constraint:constraint-layout:1.1.2.
Open File
Show Details

Скриншот:

Невозможно разрешить зависимость для ': app @ debug / compileClasspath': не удалось разрешить

эта проблема случилась со мной несколько раз, и принудительное использование https или http тоже не решил ее

Можете ли вы размещать ваши файлы build.gradle как для верхнего уровня, так и для уровня модуля?

shizhen 16.07.2018 05:31

Любое решение вашей проблемы?

Code_Life 17.09.2018 08:33

Привет, как ты исправил свою ошибку? Я видел, что вы не приняли ни одного ответа ниже. Поэтому я попробовал все возможные решения, упомянутые ниже, но ни одно из них мне не помогло.

Lokesh Pandey 14.01.2019 11:29

@Lokesh это была ошибка в com.android.support:appcompat-v7:28.0.0-alpha3, поэтому я заменил ее на com.android.support:appcompat-v7:28.0.0, она работала нормально

Zulqurnain Jutt 19.01.2019 23:52

@ZulqurnainJutt Я не уверен в этом. Но я работаю в ограниченной среде. Поэтому я просто запустил все в открытом доступе в Интернет. И работает нормально.

Lokesh Pandey 23.01.2019 11:53

@ZulqurnainJutt Вы решили эту проблему? Я сталкиваюсь с тем же

hfarhanahmed 08.03.2019 07:56

@hfarhanahmed да, просто попробуйте уменьшить версию оценки или версию сборки, в моем случае это сработало

Zulqurnain Jutt 08.03.2019 10:58

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

hfarhanahmed 08.03.2019 11:14

Всем, кто в 2020+, иди проверь безумный банальный ответ. Все благодаря смене AndroidX и т. д.

Chiguireitor 15.05.2020 19:38
79
9
125 908
22

Ответы 22

  1. Попробуйте "Файл" -> "Недействительные кеши / перезапустить ..."
  2. Попробуйте очистить каталоги .gradle и .idea в корневом каталоге проекта.
  3. Попробуйте добавить репозиторий Google Maven и проект синхронизации

    buildscript {
        repositories {
            jcenter()
            google()
            maven {
               url "https://maven.google.com"
            }
        }
    
        dependencies {
            classpath 'com.android.tools.build:gradle:3.1.3'
        }
    }
    
    allprojects {
        repositories {
            google()
            jcenter()
            maven {
               url "https://maven.google.com"
            }
        }
    }
    
  4. Если вы используете Android Gradle Plugin 3.1.3, вы должны быть уверены, что ваша версия оболочки Gradle - 4.4. В корневом каталоге вашего проекта найдите gradle-wrapper.properties и измените его, как показано ниже.

    distributionBase=GRADLE_USER_HOME
    distributionPath=wrapper/dists
    zipStoreBase=GRADLE_USER_HOME
    zipStorePath=wrapper/dists
    distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
    

добавление только репозиториев google () и maven {} сработало для меня

CodeWithVikas 14.11.2019 06:54

Мне не удалось найти основную причину проблемы, но я нашел решение. Я начал с установки домашней переменной java как таковой.

  • vi ~/.bash_profile (только для Mac. В Linux профили bash отличаются)
  • введите букву i для вставки, а затем установите переменную JAVA_HOME как таковую
  • export JAVA_HOME=/Applications/Android\Studio.app/Contents/jre/jdk/Contents/Home/
  • выйдите из редактора vi с помощью esc, затем введите :wq
  • Перезагрузите компьютер
  • Вуаля! Ваши проекты студии Android должны создаваться без каких-либо проблем

Я только что понял, как удалить эту ошибку Gradle, выполните следующие действия.

  1. Зайдите в «Файл».
  2. Нажмите Invalidate Cache / Restart.
  3. Снова нажмите Invalidate Cache / Restart (в диалоговом окне).

Пусть градиент строится без перебоев.

Благодарю вас! С уважением, надеюсь, это поможет.

люди должны сделать это перед редактированием строк кода. 1-е вещи 1-е

Malith Ileperuma 16.10.2019 16:39

У меня была проблема с включением автономного режима. Я отключил офлайн-режим и синхронизировал.

  • Откройте настройки, нажав File > Settings.
  • На левой панели щелкните Build, Execution, Deployment > Gradle.
  • Снимите флажок Offline work.
  • Примените изменения и снова синхронизируйте проект.

Можете ли вы сказать, какая зависимость не решается.

Khemraj Sharma 30.10.2018 16:09

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

IgorGanapolsky 30.10.2018 18:22

Это локальный библиотечный модуль? или это URL-адрес зависимости в gradle.

Khemraj Sharma 30.10.2018 18:33

Модуль локальной библиотеки

IgorGanapolsky 30.10.2018 18:34

Я столкнулся с такой же проблемой несколько дней назад. Я точно не помню, что я сделал, но вам следует попробовать удалить .idea, .gradle, build dir и снова выполнить синхронизацию. Вот что мы можем сделать.

Khemraj Sharma 30.10.2018 18:37

Я просто делюсь этим ответом, потому что у меня была аналогичная проблема.

В конце концов, ошибка возникла из-за того, что я случайно поменял fileTree. В моем случае я исправил, изменив:

// implementation or compile
implementation fileTree(include: ['*.jar'])

к

// implementation or compile
implementation fileTree(include: ['*.jar'], dir: 'libs')

Думаю, проблемы в следующем: Интернет-соединение с u было недоступно, поэтому Android Studio попросила вас включить «автономную работу», и вы просто включили ее.

Чтобы исправить это:

  • Файл
  • Настройки
  • Сборка, выполнение, развертывание
  • Gradle
  • Снимите флажок офлайн-работы

почему может быть снятие флажка автономной работы решает проблему, потому что в Gradle иногда требуется обновить некоторые зависимости (те, которые содержат '+'), поэтому требуется подключение к Интернету.

В моем случае : Когда я настраивал AS, мои окна были настроены с прокси. Позже я отключаю прокси и отключаю прокси в настройках AS, но в файле .gradle \ gradle.properties - прокси - присутствует

Просто в текстовом редакторе очистите настройки прокси из этого файла

У меня была твоя проблема, я ее исправил. эта ошибка возникает, когда ваш целевой уровень API не полностью загружен. у вас есть два способа: перейти в меню SDK и загрузить все компоненты Android 9 или лучше перейти в build.gradle (приложение модуля) и изменить его следующим образом: Но помните, прежде чем применять эти изменения, убедитесь, что вы полностью загрузили api lvl 8.

Возможно, вы импортируете Заявление вместо Модуль. Ну, вы также можете изменить его в модуле gradle.

Изменять

apply plugin: 'com.android.application'

к

apply plugin: 'com.android.library'

Вам также необходимо удалить applicationId из градиента.

Зачем мне это нужно. Любое объяснение?

CodeWithVikas 14.11.2019 03:50

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

Shahbaz Hashmi 28.11.2019 07:17

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

kolboc 19.12.2019 14:29

«применить плагин» определяет, какой плагин Gradle используется для компиляции вашего кода. Я предполагаю, что у вас может быть несколько проектов .application и запускать их по отдельности, но они не могут ссылаться друг на друга, если они не скомпилированы как библиотеки (я не слишком много гуглил): developer.android.com/studio/projects/android-library Но очень грустно, что ответ с нулевым объяснением получает столько голосов.

Heinzlmaen 30.06.2020 11:58

@Heinzlmaen Все знают, что делает «плагин применения», и можно иметь несколько проектов приложений в соответствии с их требованиями. Но все же люди находят этот ответ полезным.

Shahbaz Hashmi 30.06.2020 13:01

@ShahbazHashmi Нет.

Heinzlmaen 30.06.2020 15:41

Я знаю, что это очень поздно, но я думаю, что это может помочь кому-то в решении его проблемы.

В моем случае это произошло из-за того, что compileSdkVersion и targetSdkVersion были установлены на 29, а когда я проверял свой диспетчер SDK, он показывал, что пакет частично установлен. При этом SDK версии 28 был установлен полностью. Я изменил свои compileSdkVersion и targetSdkVersion на 28 вместе с библиотеками поддержки.

Ранее: compileSdkVersion 29 targetSdkVersion 29 реализация 'com.android.support:appcompat-v7:29.+' реализация 'com.android.support:design:29.+'

После модификации: compileSdkVersion 28 targetSdk, версия 28 реализация 'com.android.support:appcompat-v7:28.+' реализация 'com.android.support:design:28.+'

После применения этих изменений это сработало как шарм.

Спасибо, Маниш, вы правы, нет поддержки библиотек с версией выше 28 из-за миграции на AndroidX.

Ernest 03.12.2019 14:44

Для всех в 2020 году это ответ, который вы хотите

Chiguireitor 15.05.2020 19:36

В моем случае я использовал сервисы Google Play ... Я увеличил библиотеку, которую он решил

implementation 'com.google.android.gms:play-services-auth:16.0.0'

Сервис Google Play должен быть одинаковым в модулях библиотеки и приложения.

Справка

Ответ @shizhen не сработал в моем случае.

Потратили не один день и наконец получили рабочее решение. Я был в офисной среде, поэтому, пробуя разные методы, мой файл gradle был поврежден. Поэтому я удалил всю форму информации о прокси и порте из следующего файла, и все заработало.

Пользователь -> .gradle -> gradle.properties

Кроме того, я включил «Автоопределение настроек прокси» в Android studio -> настройки -> HTTP-прокси для сети, и студия автоматически определит сетевую конфигурацию.

Специальный кредит

Как сказал @Ebin Joy, если ваш файл gradle поврежден, для этого есть одно простое решение. Вручную укажите детали прокси, как показано на рисунке. тогда тебе хорошо идти. Это решение работает, только если вы используете какие-либо закрытые сети, такие как офисная сеть и т. д.

Вопрос по-прежнему актуален с Android Studio 3.5.2 для Windows.

В моем конкретном случае использования я пытался добавить Gander (https://github.com/Ashok-Varma/Gander) в свой список зависимостей, когда у меня продолжалась эта конкретная головная боль.

Оказывается, я еще не получил одобренный сертификат JCenter в моем файле cacerts. Я прохожу через брандмауэр компании, и мне пришлось сделать это с зависимостями, которые я пытаюсь импортировать. Таким образом, для этого:

  1. Убедитесь, что вашей Android Studio не нужно проходить через прокси.

  2. Экспортируйте сертификат, в котором вы получаете свою зависимость (обычно просто JCenter)

  3. Добавьте сертификат в ваш файл cacerts:

    keytool -import -alias [your-certificate-name] -keystore 'C:\Program Files\Java\jdk[version]\jre\lib\security\cacerts' -file [absolute\path\to\your\certificate].cer

  4. Перезагрузите Android Studio

  5. Попробуйте выполнить синхронизацию еще раз.

Ответ основан на этом: https://stackoverflow.com/a/26183328/4972380

Я решил эту проблему с кешированием Gradle, как показано ниже.

Если кто-то использует MacBook, ниже приведены шаги, которые я использовал для решения этой проблемы.

  1. Есть скрытая папка Gradle. Используя приведенную ниже команду, мы можем открыть скрытую папку Gradle и удалить файл с именем gradle.properties.

ярлык (⌘ + shift + G), затем введите это во всплывающем окне ~/.gradle/ нажмите Enter

файл, который нужно удалить -> gradle.properties

  1. Затем вернитесь в студию Android и синхронизируйте свой проект с файлами Gradle.

Отлично, ты спас мне время и мою жизнь .:x

Mohammad Davari 18.04.2020 06:32

Попробуйте добавить тип конфигурации в строку зависимости. Например:

implementation project(path: ':some_module', **configuration: 'default'**)`

Одна возможность, о которой я не упоминал. Если в импортируемом проекте используются продукты Android, возможно, в вашем missingDimenstionStrategy есть ошибка.

В вашем :appbuild.gradle (единственный код, который не может разрешить зависимость) убедитесь, что вы правильно установили конкретный вкус продукта, от которого вы зависите. Это позволяет всему вашему более позднему коду зависимостей (например, implementation, api и т. д.) Знать, от какой именно сборки он зависит

 defaultConfig {
        ...<snip unrelated>...

        // Ensure you specify the flavor you depend on!!
        // If dep has multiple flavor dimensions, you need to specify them all
        missingDimensionStrategy 'classpath', 'gms17'
    }

Если вы когда-либо использовали прокси, VPN и т. д. (А можете и не использовать, я не уверен) ..... Тогда решение, приведенное ниже, может вам помочь ... Я не знаю почему (и если кто-нибудь скажет мне почему, я буду признателен), но оно отлично работает. Попробуйте, когда вы полностью отчаялись из-за этой проблемы.

Зайдите в свой проект, откройте gradle-wrapper.properties или gradle.properties, закомментируйте эти коды о прокси:

#systemProp.http.nonProxyHosts=118.89.144.241|47.112.105.125
#systemProp.http.proxyHost=127.0.0.1
#systemProp.http.proxyPort=1081
#systemProp.https.nonProxyHosts=118.89.144.241|47.112.105.125
#systemProp.https.proxyHost=127.0.0.1
#systemProp.https.proxyPort=1081

Тогда это мощь работает.

PS: Я столкнулся с этой проблемой, когда пытался использовать библиотека привязки данных, и когда я добавил код

buildFeatures {
        dataBinding true
    }

в gradle, как гид сказал мне и Syns в проекте, я получил такую ​​ошибку: «Невозможно разрешить зависимость для ': app @ debug / compileClasspath': не удалось разрешить ......». Наконец, я сделал то, что описал выше, и добился успеха. То, что я испытал, может дать вам подсказку, поэтому я публикую решение здесь и надеюсь, что оно может помочь.

ДЛЯ ЛЮБЫХ, ПОЛУЧАЮЩИХ ЭТО, ПЫТАЯСЬ ИМПОРТИРОВАТЬ СВОИ СОБСТВЕННЫЕ БИБЛИОТЕКИ

Я играл с библиотеками Котлин Мультиплатформенный и пытался опубликовать свои библиотеки с помощью jitpack, а затем перетаскивать их в другие проекты. Я новичок в большей части этого и не знал, что мне нужно добавить publishLibraryVariants в мою конфигурацию Android в Gradle. Я следил за другими руководствами, в которых этого не требовалось, поэтому я не уверен, что именно в Kotlin MPP вам нужно. Но это код. Скорее всего, вы могли бы опубликовать другие варианты, отвечающие вашим потребностям, но они кажутся стандартными требованиями для сборки с базовым проектом. () После android не обязательно, но скрипт по умолчанию идет с ними, поэтому я оставил его. По сути, код одинаков для Kotlin или Groovy DSL.

В скрипте gradle для публикуемой библиотеки

kotlin {
    android() {
        publishLibraryVariants("release", "debug")
        …
    }
    …
}

Правильно люди, отвечающие об активности офлайн. Но в моем случае он находился в другом месте. Чтобы найти его в меню верхней панели, выберите

  1. Просмотр / Инструменты Windows / Graddle
  2. Нажмите кнопку офлайн, если она активна. Это небольшой прямоугольник с двумя косыми чертами по центру.

Кроме того, вы можете щелкнуть меню справки в меню верхней панели и написать «градиент», и он предложит места.

Решение ниже может кому-то помочь.

Я столкнулся с этой проблемой, когда использую проект внедрения (': my_project_other_modules') в новом модуле.

Я обсудил с моими товарищами по команде, и я наконец получил решение от одного человека, Мне нужно использовать вкусРазмеры и продуктАроматы., потому что приложение / build.gradle использовал вкусРазмеры и продуктАроматы.. Когда я добавляю их в новый модуль, ошибки не возникает.

В моем случае в коде была опечатка. Поэтому будьте осторожны, чтобы проверить это, прежде чем пробовать что-либо еще.

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