Почему jcenter не может разрешить зависимость, а mavenCentral может?

У меня есть проект только с двумя зависимостями: относительно стандартной 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()
    }
}

он волшебным образом начинает работать.

Как это возможно? Я подтвердил, что оба предлагают пакет:

Настройки Gradle

введите здесь описание изображения

Я пробовал локальную оболочку без успеха.

Android Studio 1.3.2
Gradle 1.3.0


person Tim    schedule 24.09.2015    source источник
comment
происходит ли сбой самой сборки после синхронизации?   -  person user2511882    schedule 24.09.2015
comment
@user2511882 user2511882 На самом деле происходит сбой синхронизации - см. Правку   -  person Tim    schedule 24.09.2015
comment
Да, это то, о чем я просил ... в любом случае, я могу получить эту ионную зависимость ... однако это работает, только если я переключаю путь к классам на 1.1.0 ... здесь также не работает для 1.3.0, что довольно интересно.   -  person user2511882    schedule 24.09.2015
comment
Файл наверняка можно загрузить с JCenter — bintray.com/artifact/download/bintray/jcenter/com/koushikdutta/, поэтому Gradle сможет его получить. Возможно ли, что Bintray заблокирован вашим прокси-сервером или брандмауэром?   -  person JBaruch    schedule 24.09.2015
comment
@JBaruch, как мне это проверить? У меня нет заблокированных веб-сайтов в настройках моего маршрутизатора, я не использую прокси, и я могу получить доступ к сайту bintray и иону в браузере.   -  person Tim    schedule 24.09.2015
comment
Это странно... Я попытался получить его из проекта Android, и синхронизация Gradle сработала нормально. И я использую версию плагина 1.3.0.   -  person ptitvinou    schedule 24.09.2015
comment
Не могли бы вы попробовать добавить :jar в конец объявления зависимости?   -  person JBaruch    schedule 24.09.2015
comment
@JBaruch Пробовал compile 'com.koushikdutta.ion:ion:2.1.6:jar', получил ту же ошибку   -  person Tim    schedule 24.09.2015
comment
Не могли бы вы попробовать скомпилировать «com.koushikdutta.ion:ion:2.1.6@jar»?   -  person ptitvinou    schedule 24.09.2015
comment
@ptitvinou все та же ошибка   -  person Tim    schedule 24.09.2015
comment
@JBaruch Я думаю, что это связано с сетью, потому что в доме моей девушки это работает. Я сделаю некоторые тесты, когда буду дома завтра   -  person Tim    schedule 27.09.2015
comment
Я собирался сделать тесты, но забыл об этом, потому что меня не подсказала ошибка. Как-то само решилось. Возможно, временные проблемы с подключением..?   -  person Tim    schedule 02.10.2015