Ошибка Gradle Build Android Project «Не удалось разрешить все зависимости»


79

Я пытаюсь создать свой первый проект с помощью Gradle, и я думаю, что мои файлы и настройки gradle верны.

Я использую только один модуль и поддерживаю библиотеки V4 + AppCompatBar.

Проект - build.gradle

allprojects {
    repositories {
        mavenCentral()
    }
}

Проект - settings.gradle

include ':AssignmentTempos21'

Основной модуль - build.gradle

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}

apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 17
    }
}

dependencies {
    compile "com.android.support:support-v4:18.0.+"
    compile "com.android.support:appcompat-v7:18.0.+"
}

Вывод в консоль с флагом -i:

MacBook-Air-de-Cesar-2:AssignmentTempos21 menor$ ./gradlew -i clean assemble
Starting Build
Settings evaluated using settings file '/Users/menor/workspace_android/AssignmentTempos21/settings.gradle'.
Projects loaded. Root project using build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle'.
Included projects: [root project 'AssignmentTempos21', project ':AssignmentTempos21']
Evaluating root project 'AssignmentTempos21' using build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle'.
Compiling build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle' using BuildScriptClasspathScriptTransformer.
Compiling build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle' using BuildScriptTransformer.
Evaluating project ':AssignmentTempos21' using build file '/Users/menor/workspace_android/AssignmentTempos21/AssignmentTempos21/build.gradle'.
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':AssignmentTempos21'.
> Failed to notify project evaluation listener.
   > Could not resolve all dependencies for configuration ':AssignmentTempos21:_DebugCompile'.
      > Could not find any version that matches com.android.support:support-v4:18.0.+.
        Required by:
            AssignmentTempos21:AssignmentTempos21:unspecified
      > Could not find any version that matches com.android.support:appcompat-v7:18.0.+.
        Required by:
            AssignmentTempos21:AssignmentTempos21:unspecified

* Try:
Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output.

BUILD FAILED

Total time: 40.787 secs

Пожалуйста, перейдите к этому вопросу и отметьте его. Похоже, есть много проблем, потому что было много неопубликованных библиотек из jCenter.
Патрисио Сард

Ответы:


95

Как говорит Питер, их не будет в Maven Central

из Android SDK Manager загрузите «Репозиторий поддержки Android», и репозиторий Maven с библиотеками поддержки будет загружен в ваш каталог Android SDK (см. папку «Дополнительно»)

для развертывания библиотек в локальном репозитории .m2 вы можете использовать maven-android-sdk-deployer

Редактировать 2017:

теперь вы можете ссылаться на онлайн-репозиторий M2 Google

repositories {
google()
jcenter()
}

12
Загрузка «Репозитория поддержки Android» из «Android SDK Manager» окончательно решит эту проблему, которую я получил в проектах Android Studio 0.4.3. Остается только немного жаль сообщения Gradle об отказе от поддержки, но это уже другая история, поэтому я открываю этот вопрос
Франко Рондини

не могли бы вы объяснить шаг за шагом: я имею в виду первую загрузку maven-android-sdk-deployer, а вторая что?
Hosein Aqajani

@ H.Aqjn Я изменил ответ, чтобы он читался немного лучше (я думаю), если вы используете Gradle, у вас должно быть все в порядке, просто загрузив репозиторий поддержки из диспетчера SDK
kassim

50

Зайдите туда, где вы установили Android Studio (для меня это внизу C:\Users\username\AppData\Local\Android\android-studio\), откройте sdk\tools, затем запустите android.bat. Отсюда обновите и загрузите все недостающие инструменты сборки и убедитесь, что вы обновили репозиторий поддержки Android и библиотеку поддержки Android в разделе «Дополнительно». Перезагрузите Android Studio после завершения работы SDK Manager.

Кажется, что Android Studio полностью игнорирует любые установленные файлы Android SDK и сохраняет собственную копию. После запуска обновления все было успешно скомпилировано с помощью компиляцииcom.android.support:appcompat-v7:18.0.+


8
Это действительно помогло мне. Я ожидал, что Android Studio будет использовать Android SDK, который я вручную установил на свой компьютер. То, что IDE использует собственный Android SDK вместо того, который определил разработчик, действительно раздражает. SDK должен быть отдельным от IDE.
samael

13
У меня НЕ было ИДЕИ, что у Android Studio была собственная версия SDK под AppData. Это очень запутанно!
pqvst

Мне пришлось установить Extras / Android Support Library, перезапустить SDK Manager, после чего появился Android Support Repository.
Леос Литерак

Это избавило меня от ошибки "com.android.support:appcompat-v7:19.+" для меня.
Ник Вестгейт

Ну, у меня тоже было подобное замешательство, когда я заметил несколько экземпляров Android SDK на моем компьютере с Ubuntu. Следовательно, у меня было плохое подозрение, что AndroidStudio создает свой собственный экземпляр. В настоящее время я использую AS v.2.1.2, и эта проблема все еще присутствует. Интересно, планирует ли команда исправить это когда-нибудь в ближайшее время, или они считают это функцией :)
Распродано

27

Если вы работаете на автономном CI и устанавливаете Android SDK с помощью командной строки, обязательно включите пакеты m2repository в --filterаргумент:

android update sdk --no-ui --filter platform-tools,build-tools-19.0.1,android-19,extra-android-support,extra-android-m2repository,extra-google-m2repository

Обновить

Начиная с версии Android SDK Manager rev. 22.6.4 это больше не работает. Попробуйте вместо этого:

android list sdk --all

Вы получите список всех доступных пакетов SDK. Найдите числовые значения компонентов из первой команды выше («Репозиторий Google» и другие, которые могут отсутствовать).

Установите пакеты, используя их числовые значения:

android update sdk --no-ui --all --filter <num>

Обновление № 2 (сентябрь 2017 г.)

В «новых» инструментах Android SDK, которые были выпущены ранее в этом году, эта androidкоманда устарела, и аналогичные функции были перенесены в новый инструмент под названием sdkmanager:

Список установленных компонентов:

sdkmanager --list

Обновите установленные компоненты:

sdkmanager --update

Установите новый компонент (например, версию инструментов сборки 26.0.0):

sdkmanager 'build-tools;26.0.0'

Спасибо за красивую командную строку! К сожалению, теперь (Android SDK Manager rev. 22.6.4 (из About в GUI)) я получаю ответ:, Error: Ignoring unknown package filter 'platform-tools'также для 'android-19'и 'extra-android-support'. Ура!
sdaau 07

Я получаю «Папка SWT» / opt / android-sdk-linux / tools / lib / arm »не существует
Мариан Клюспис,

3
Спасибо за подсказку. Я бегал:, android list sdk --all |grep -i reposэто дает мне "98-Android Support Repository, revision 6"и "106-Google Repository, revision 11". Затем я установил оба запущенных пакета, android update sdk -u -a -t 98,106которые, наконец, решили проблему (я использую adt-bundle-linux-x86-20140702.zip, не знаю, какая это версия SDK Manager).
Mateusz Szulc

1
Вы спасли здесь много жизней, упомянув о необходимости установки Google Repository. Спасибо.
yati sagade

Да, мой тоже был из-за отсутствия - 142 - Репозиторий поддержки Android, версия 21150 - Репозиторий Google, версия 22
Брюс Лим


2
compileSdkVersion 17
targetSdkVersion 17

изменить версию компиляции с 18 на 17

compile "com.android.support:support-v4:17.0.+"
compile "com.android.support:appcompat-v7:17.0.+"

2

В дополнение к ответу Кассима:

Как говорит Питер, их не будет в Maven Central

Либо используйте maven-android-sdk-deployer для развертывания библиотек в локальном репозитории.

Или из Android SDK Manager загрузите репозиторий поддержки Android (в Extras), и репозиторий M2 библиотек поддержки будет загружен в ваш каталог Android SDK.

Мне также пришлось обновить «Локальный репозиторий Maven для библиотек поддержки» в Android SDK Manager.


1

чтобы повторить @friederbluemle, вы также можете просто запустить диспетчер SDK из командной строки, если у вас установлены инструменты Android SDK:

$ android

а затем в появившемся пользовательском интерфейсе выберите инструменты / репозитории, которые необходимо установить - в вашем случае репозиторий библиотеки поддержки


1

напишите следующий оператор в файле build.gradle вашего приложения.

com.android.support:appcompat-v7:18.0.+

это оно


1

Попробуйте отключить брандмауэр , it works for me. Похоже, что студия Android хочет загрузить некоторые зависимости, и наш брандмауэр не позволяет ей загружать их just be aware that turning your firewall off may lower the security of your computer. Если у вас есть больше времени, вы можете вручную разрешить своей студии Android обходить ваш брандмауэр, таким образом вы можете включить брандмауэр, позволяя студии Android загружать все, что она хочет.


1

У меня было это сообщение в Android Studio 2.1.1 на вкладке Gradle Build. Я установил много файлов из SDK Manager, но это не помогло.

Мне нужно было перейти на следующую вкладку «Gradle Sync». Была ссылка «Установить репозиторий и синхронизировать проект», по которой был установлен «Репозиторий поддержки Android».


1
  1. Установите android sdk manager
  2. проверьте, установлены ли строительные инструменты. установить api 23.
  3. из Android SDK Manager загрузите «Репозиторий поддержки Android»
  4. удалить cordova-plugin-android-support-v4
  5. строить

0

Добавьте это в свой градиент:

allprojects {
    buildscript {
        repositories {
            maven {
                url "https://dl.bintray.com/android/android-tools"
            }
        }
    }
...
}
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.