У меня есть проект только с двумя зависимостями: относительно стандартной appcompat-v7
и ion
. Итак, мои файлы Gradle довольно просты:
Проект
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.3.0'
}
}
allprojects {
repositories {
jcenter()
}
}
Приложение
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.0"
defaultConfig {
applicationId "zz.yy.xx"
minSdkVersion 18
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.koushikdutta.ion:ion:2.1.6'
}
На самом деле я думаю, что единственное, что я добавил сам, это зависимость ion
.
Я не гуру Gradle, но я прочитал в несколько мест, которые jcenter — это так называемый надмножество mavenCentral. В частности, этот ответ
Сам JCenter представляет собой тонкий слой поверх Maven Central. Он проксирует его (более или менее успешно) и добавляет дополнительные компоненты. Оба размещены в сетях CDN и обладают высокой производительностью. Сам Maven Central является целью для всех Eclipse, Apache и большинства других проектов с открытым исходным кодом, и без него JCenter был бы в основном пустым.
и этот
Вы никогда не нуждаетесь в обоих. JCenter — это расширенный набор Maven Central, и его должно быть достаточно для всех зависимостей.
Я работаю в JFrog, компании, разработавшей Bintray и [artifactory], подробности и ссылки см. в моем профиле.
заставьте меня поверить, что они по сути одинаковы в том, что касается предоставления пакетов программного обеспечения, только jcenter в чем-то лучше. Особенно автор последнего ответа, кажется, знает, о чем говорит.
Однако я не могу установить зависимость от ионов с помощью jcenter. Я всегда получаю эту ошибку
Чтобы заставить его работать, мне также нужно добавить mavenCentral. Таким образом, приведенный выше фрагмент gradle не работает, но если я изменю allprojects
на этот
allprojects {
repositories {
jcenter()
mavenCentral()
}
}
он волшебным образом начинает работать.
Как это возможно? Я подтвердил, что оба предлагают пакет:
- http://search.maven.org/#artifactdetails%7Ccom.koushikdutta.ion%7Cion%7C2.1.6%7Cjar
- https://bintray.com/bintray/jcenter/com.koushikdutta.ion%3Aion/2.1.6/view
Настройки Gradle
Я пробовал локальную оболочку без успеха.
Android Studio 1.3.2
Gradle 1.3.0
:jar
в конец объявления зависимости? - person JBaruch   schedule 24.09.2015compile 'com.koushikdutta.ion:ion:2.1.6:jar'
, получил ту же ошибку - person Tim   schedule 24.09.2015