Как добавить репозиторий поддержки Android в Android Studio?

Я использую Android Studio с внешним Android SDK. Я установил библиотеку поддержки и репозиторий поддержки. Репозиторий поддержки находится в:

~/Development/Tools/android/sdk/extras/android/m2repository

Когда я добавляю зависимость к библиотеке поддержки в файле build.gradle, например:

...

repositories {
    mavenCentral()
}

...

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

Android Studio не может найти библиотеки поддержки (не может разрешить символ и т. д.), и Gradle также не может найти библиотеки:

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

Как указать в Android Studio и/или файле build.gradle расположение репозитория поддержки Android?


person Jaap van Hengstum    schedule 13.11.2013    source источник
comment
В файле local.properties указан правильный путь к SDK?   -  person rciovati    schedule 13.11.2013
comment
Единственная строка в моем local.properties файле: sdk.dir=/Users/jaap/Development/Tools/android/sdk это путь к внешнему sdk.   -  person Jaap van Hengstum    schedule 13.11.2013
comment
Вы уверены, что у вас есть библиотека поддержки версии 18? Сейчас 19.   -  person rciovati    schedule 13.11.2013
comment
Любой, кто прибыл сюда из-за того, что им не удалось добавить оператор «компилировать» в build.gradle, обратите внимание, что есть ДВА файла build.gradle, и компиляция должна быть добавлена ​​в раздел зависимостей файла, который не имеет раздела зависимостей (тот, у которого targetSdkVersion = x и т. д. )   -  person Lorne K    schedule 19.04.2018


Ответы (6)


Вы, вероятно, столкнулись с этой ошибкой, которая мешает Android Gradle Плагин для автоматического добавления «Репозитория поддержки Android» в список репозиториев Gradle. Обходной путь, как указано в отчете об ошибке, заключается в том, чтобы явно добавить каталог m2repository в качестве локального каталога Maven в файл build.gradle верхнего уровня следующим образом:

allprojects {
    repositories {
        // Work around https://code.google.com/p/android/issues/detail?id=69270.
        def androidHome = System.getenv("ANDROID_HOME")
        maven {
            url "$androidHome/extras/android/m2repository/"
        }
    }
}
person sschuberth    schedule 18.08.2014
comment
Я добавляю библиотеки в наш локальный артефакт maven, так что это работает для всех. - person philipp; 01.11.2014
comment
В этом больше нет необходимости, так как, по крайней мере, я больше не могу воспроизвести ошибку с последним плагином для Android и инструментами сборки (также см. мой комментарий к исходной ошибке). - person sschuberth; 01.11.2014
comment
Это решает другую проблему: добавление поддержки аннотаций Android (например, @NonNull) в чистую библиотеку Java приложения Android. - person DenisGL; 20.07.2016
comment
все еще было это после обновления до Android Studio 2.3 ... есть ли какая-либо информация, что было причиной и как механизм подключения работает в студии Android?! единственное, что я могу подтвердить: я могу исправить это, просто удалив, а затем переустановив репозиторий поддержки через диспетчер SDK ... нет клея, почему это помогло, даже существующие и переустановленные файлы точно такие же - person childno͡.de; 03.04.2017

Gradle может работать с нотацией 18.0.+, однако теперь это зависит от нового репозитория поддержки, который теперь входит в комплект SDK.

Откройте диспетчер SDK и сразу же в разделе «Дополнительно» выберите «Репозиторий поддержки Android» и установите его.

person ngatirauks    schedule 25.11.2013
comment
Также убедитесь, что ваши Android SDK Tools обновлены, и рассмотрите возможность использования 19.0.+, так как это последняя версия. - person Michael Barany; 26.11.2013
comment
Разработчик.android предупредил об использовании + в номерах версий в этом документе и многие другие места. - person AaA; 06.07.2017

Нашел решение.

1) Перейдите туда, где находится ваш SDK, который использует Android Studio/Eclipse. Если вы используете Android Studio, перейдите к extras\android\m2repository\com\android\support\. Если вы используете eclipse, перейдите к \extras\android\support\

2) Посмотрите какие у вас папки, у меня у меня были gridlayout-v7, support-v4 и support-v13.

3) зайти в support-v4 и посмотреть какой номер у следующей папки, моя называлась 13.0

Поскольку вы используете «com.android.support:support-v4:18.0.+», измените это, чтобы отразить, какая у вас версия, например, у меня есть поддержка-v4, поэтому первая часть v4 остается прежней. Поскольку следующий путь — 13.0, измените свой 18.0 на:

"com.android.support:support-v4:13.0.+"

Это сработало для меня, надеюсь, это поможет!

Обновлять:

Я заметил, что у меня была настроена студия Android с неправильным SDK, поэтому изначально возникли трудности с обновлением! Путь должен быть C:\Users\Username\AppData\Local\Android\android-sdk\extras\

Также обратите внимание, если ваш SDK обновлен, код будет таким:

"com.android.support:support-v4:19.0.+"
person escull638    schedule 24.12.2013
comment
Спасибо. Я тоже немного застрял, потому что в онлайн-репозитории maven библиотека поддержки находится под com.google.android, но здесь она находится под com.android.support. - person joe_deniable; 01.01.2014
comment
Мне потребовались часы, чтобы понять! Оказывается, это было простое изменение, ха-ха, хорошо, что вы разобрались! - person escull638; 03.01.2014
comment
Моя папка SDK находится на диске E (C — SSD), а [SDK]\extras\android\m2repository\com\android\support\support-v4 содержит номера папок, начиная с 13.0.0 до 26.0.0-alpha1 (38 папок), репозиторий по-прежнему недоступен. - person AaA; 06.07.2017
comment
Разработчик.android уже предупреждал об использовании + в номерах версий в этом документе. - person AaA; 06.07.2017

Android-студия 3

Убедитесь, что у вас установлена ​​последняя версия Android Studio. Библиотека поддержки включается по умолчанию при создании новых проектов. Если вы добавляете библиотеку поддержки в проект, в котором ее нет, вам просто нужно добавить одну строку в файл build.gradle вашего модуля приложения, а затем синхронизировать gradle.

build.gradle

dependencies {
    ...
    implementation 'com.android.support:appcompat-v7:27.1.1'
} 

Это должно быть так просто, хотя могут быть некоторые вещи, на которые следует обратить внимание:

  • В настоящее время Android Studio должна предупреждать вас, если необходимо обновить библиотеку поддержки. Просто обновите 27.1.1 числа, которые у меня есть, на то, что вам нужно. Вы также можете вручную проверить последнюю версию, если вы хочу.
  • Ключевое слово implementation заменяет compile, которое использовалось в Android Studio 2.x. (В чем разница?)
  • Существуют и другие пакеты библиотеки поддержки, которые вам может понадобиться включить в зависимости от того, что использует ваше приложение (например, constraint-layout или recyclerview).
  • Убедитесь, что у вас есть последние обновления для всего в SDK Manager. Перейдите в раздел Инструменты › Диспетчер SDK.

Документация

person Suragch    schedule 18.05.2015

Раньше у меня были похожие проблемы. Даже после установки репозитория поддержки сборка давала сбой.

В основном проблемы связаны с тем, как правильно указан номер версии файлов jar в файлах gradle.

Например, в моем случае я установил его как «скомпилировать com.android.support:support-v4:21.0.3+»

При удалении "+" сборка прошла успешно!!

person Vjay    schedule 12.01.2015
comment
Разработчик.android уже предупреждал об использовании + в номерах версий в этом документе. - person AaA; 06.07.2017

Вместо этого:

compile "com.android.support:support-v4:18.0.+"

Сделай это:

compile 'com.android.support:support-v4:18.0.+' 

Работал на меня

person James Brotherhood    schedule 10.09.2018