Не удалось разрешить com.android.tools.build:gradle:0.5.+
Я пытаюсь создать проект в Android Studio. В проекте используется Gradle.
В то время maven.org испытывает некоторые проблемы, и я получаю следующие ошибки:
Gradle: A problem occurred configuring project ':MyProject'.
> Could not resolve all dependencies for configuration ':MyProject:classpath'.
> Could not resolve com.android.tools.build:gradle:0.5.+.
Required by:
Android:MyProject:unspecified
> Could not HEAD 'http://repo1.maven.org/maven2/com/android/tools/build/gradle/0.5.4/gradle-0.5.4.pom'. Received status code 503 from server: Service Temporarily Unavailable
Это заставило меня думать, что я не хочу зависеть от maven.org и подключения к интернету для своих сборников!
Есть ли способ сбросить эти зависимости и сделать Android Studio самодостаточным? Я хотел бы иметь возможность создавать свои Android-проекты даже без подключения к Интернету, и даже если maven.org никогда не восстановится.
EDIT:
Если я правильно понимаю, есть способ настроить локальный репозиторий Maven, а затем использовать
repositories {
mavenLocal()
}
вместо
repositories {
mavenCentral()
}
в файлах build.gradle
.
К сожалению, я не уверен, что это так, и что является недостатком этого подхода.
ОБНОВЛЕНИЕ (декабрь 2013 г.):
Android Studio теперь поддерживает режим Gradle Offline (с версия 0.4.0). Более подробную информацию можно найти в примечаниях к выпуску для Studio.
Ответы
Ответ 1
Если вы хотите использовать локальное репо maven вместо удаленного, вам нужно добавить файлы jar в локальный репозиторий.
Локальный репозиторий maven находится в
~/.m2/repository
Для компиляции проектов Android вам нужна библиотека Android Builder. Вы можете загрузить jar из http://mvnrepository.com/artifact/com.android.tools.build/builder/0.5.4 или скомпилировать исходный код самостоятельно.
Чтобы установить этот тип библиотеки в командной строке:
mvn install:install-file -DgroupId=com.android.tools.build \
-DartifactId=builder \
-Dversion=0.5.4 \
-Dfile=builder-0.5.4.jar \
-Dpackaging=jar \
-DgeneratePom=true
Затем в файле build.gradle вы можете использовать
mavenLocal()
вместо
mavenCentral()
Очевидно, может оказаться, что вам нужно несколько дополнительных libs в локальном репо для запуска Android-проекта, но процесс добавления разных libs точно такой же, как указано выше.
Вместо библиотек с добавлением командной строки может быть выполнено, например, Приложение Archiva
http://archiva.apache.org/index.cgi
Ответ 2
Теперь вы можете поменять
mavenCentral()
to
maven { url "http://us.maven.org/maven2/" }
в файле build.gradle
но для полностью автономного доступа вы можете создать локальный репозиторий maven на своем компьютере - возможно,
Вы можете посмотреть: Как использовать Sonatype Nexus с Gradle для прокси-репитеров?
Ответ 3
проверьте подключение к Интернету
после прочтения второй части вашего вопроса:
- материал кэшируется - поэтому вы можете создавать даже без подключения к Интернету.