Gradle Построение проекта Android "Не удалось разрешить все зависимости"
Я пытаюсь создать свой первый проект с помощью 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
Спасибо заранее!
Ответы
Ответ 1
Как говорит Питер, они не будут в Maven Central
из Android SDK Manager загрузите "Репозиторий поддержки Android" и реестр Maven из библиотек поддержки будет загружен в ваш каталог Android SDK (см. папку "Дополнительные" )
чтобы развернуть библиотеки в локальный репозиторий .m2, вы можете использовать maven-android-sdk-deployer
2017:
теперь вы можете ссылаться на онлайн-репортаж M2 Google
repositories {
google()
jcenter()
}
Ответ 2
Перейдите к месту установки 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.+
Ответ 3
Если вы работаете в безголовом 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'
Ответ 4
Эти зависимости не существуют в Maven Central (см. это).
Ответ 5
compileSdkVersion 17
targetSdkVersion 17
измените версию компиляции с 18 на 17
compile "com.android.support:support-v4:17.0.+"
compile "com.android.support:appcompat-v7:17.0.+"
Ответ 6
В дополнение к ответу Кассима:
Как говорит Питер, они не будут в Maven Central
Используйте maven-android-sdk-deployer, чтобы развернуть библиотеки на свой локальное хранилище
Или из Android SDK Manager загрузите репозиторий поддержки Android (в разделе "Дополнительно" ) и M2-репо библиотек поддержки будут загружены в каталог Android SDK
Мне также пришлось обновить "Локальный репозиторий Maven для библиотек поддержки" в Android SDK Manager.
Ответ 7
для echo @friederbluemle, вы можете просто запустить диспетчер SDK из командной строки, если у вас установлены инструменты Android SDK:
$ android
а затем в появившемся пользовательском интерфейсе выберите инструменты/репозитории, которые необходимо установить - в вашем случае репозитория поддержки репо
Ответ 8
напишите следующую инструкцию в файле build.gradle приложения.
com.android.support:appcompat-v7:18.0. +
Что он
Ответ 9
Попробуйте отключить брандмауэр, it works for me
. Кажется, что студия Android хочет загрузить некоторые зависимости, и наш брандмауэр не позволяет загрузить ее, just be aware that turning your firewall off may lower the security of your computer
. Если у вас есть больше времени, вы можете вручную разрешить своей студии Android обойти свой брандмауэр, таким образом вы можете включить свой брандмауэр, позволяя студии Android загружать все, что захочет.
Ответ 10
У меня было это сообщение в Android Studio 2.1.1 на вкладке Gradle Build. Я установил много файлов из диспетчера SDK, но это не помогло.
Мне нужно было щелкнуть следующую вкладку "Gradle Sync". Была ссылка "Установить репозиторий и проект синхронизации", в котором был установлен "Репозиторий поддержки Android".
Ответ 11
- Установить диспетчер sdk для Android.
- проверьте, установлены ли строительные инструменты. установите api 23.
- из Android SDK Manager загрузите "Репозиторий поддержки Android"
- удалить cordova-plugin-android-support-v4
- построить
Ответ 12
Добавьте это к вашему gradle:
allprojects {
buildscript {
repositories {
maven {
url "https://dl.bintray.com/android/android-tools"
}
}
}
...
}