73

Я пытаюсь создать свой первый проект с помощью Gradle, и я думаю, что мои файлы и настройки градиента верны.Gradle Build Android Project Ошибка «Не удалось разрешить все зависимости»

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

Project - build.gradle

allprojects { 
    repositories { 
     mavenCentral() 
    } 
} 

Project - 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 

Спасибо заранее !!

ответ

92

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

из диспетчера Android SDK скачать «Android Repository поддержки» и репозиторий Maven библиотек поддержки будут загружены в каталог Android SDK (см папка 'Extras')

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

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

Теперь вы можете ссылаться на Google Online M2 Repo

repositories { 
google() 
jcenter() 
} 
+12

Загрузка "Android Repository поддержки" от " Android SDK Manager "окончательно решает эту проблему, которую я получил в проектах Android Studio 0.4.3. Остается только немного жаловаться на сообщение об устаревании от Gradle, но это еще одна история, поэтому я открываю [этот вопрос] (http://stackoverflow.com/questions/21496956/gradle-deprecation-relying-on-packaging-to-define -the-extension-of-the-main-art) –

+0

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

+0

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

5

Эти зависимости не существуют в Maven Central (see this).

49

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

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

+7

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

+12

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

+1

сводил меня с ума, СПАСИБО! – Maxime

26

Если вы работаете на обезглавленный 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 

Update

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

android list sdk --all 

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

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

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

Update # 2 (сентябрь 2017)

С "новым" Android инструментов SDK, которые были выпущены ранее в этом году, команда android теперь устарела, и аналогичная функциональность была перенесена на новый инструмент под названием sdkmanager:

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

sdkmanager --list 

Update установлены компоненты:

sdkmanager --update 

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

sdkmanager 'build-tools;26.0.0' 
+0

Спасибо за приятную командную строку! К сожалению, теперь (Android SDK Manager rev. 22.6.4 (от About в GUI)) ответ, который я получаю, это: 'Ошибка: Игнорирование неизвестных пакетов фильтра 'platform-tools'', также для' 'android-19'' и '' дополнительная поддержка андроида''. Ура! – sdaau

+0

@sdaau Я только что обновил свой ответ, пожалуйста, проверьте, помогает ли это. – friederbluemle

+0

Я получаю «SWT-папку»/opt/android-sdk-linux/tools/lib/arm 'не существует –

1

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

$ android

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

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 загружать все, что захочет.

2
compileSdkVersion 17 
targetSdkVersion 17 

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

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

В дополнение к ответу Kassim в:

As Peter says, they won't be in Maven Central

Either use maven-android-sdk-deployer to deploy the libraries to your local repository

Or from Android SDK Manager download the Android Support Repository (in Extras) and an M2 repo of the support libraries will be downloaded to your Android SDK directory

Я также должен был обновить "Local Maven репозиторий для библиотек поддержки" в Android SDK Manager.

1

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

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

1
  1. Установить Android Manager SDk проверки
  2. если установлены строительные инструменты. установить Api 23.
  3. из диспетчера Android SDK скачать на Android 'Поддержка Repository'
  4. удалить Cordova-плагин-андроид-поддержка-v4
  5. сборки