Подтвердить что ты не робот

Android Studio 3.0 Beta 1: Не удалось решить: com.android.support:multidex:1.0.2

После перехода с Android Studio 3.0 (Canary 5) в Android Studio 3.0 (бета-версия 1) и перехода к последнему gradle, т.е. 'com.android.tools.build:gradle:3.0.0-beta1'

Когда я пытаюсь выполнить gradle sync, это ошибка, указанная ниже.

Failed to resolve: com.android.support:multidex:1.0.2 
Failed to resolve: com.android.support:multidex-instrumentation:1.0.2 

Я проверяю Android Studio 3.0 Canary 9 - Не удалось разрешить пакеты, он не решает мою проблему, поскольку у меня уже есть этот

    maven {
        url 'https://maven.google.com'
    }

Я удивляюсь, что даже просил multidex 1.0.2, поскольку у меня только есть в файле build.gradle

compile 'com.android.support:multidex:1.0.1'

Я проверяю использование ./gradlew app:dependencies | grep multidex, он показывает сбои, как показано ниже (через различные вкусы и т.д.)

+--- com.android.support:multidex-instrumentation:1.0.2 FAILED
+--- com.android.support:multidex:1.0.1
+--- com.android.support:multidex:1.0.2 FAILED
+--- com.android.support:multidex:1.0.1 -> 1.0.2 FAILED

Откуда взялись зависимости multidex:1.0.2 и multidex-instrumentation:1.0.2? Как я могу решить эту проблему?

4b9b3361

Ответ 1

По-видимому, моя проблема в том, что я должен опубликовать это сообщение:

maven {
    url 'https://maven.google.com'
}

в allprojects, а не в buildscript (тонкие разные ослепили меня, где проблема), которая выглядит следующим образом:

allprojects {
    repositories {
        maven {
            url 'https://maven.google.com'
        }
    }
}

Благодаря M D для указателей!

Ответ 2

Для меня решение состоит в том, чтобы переместить элемент google() вверх, чтобы убедиться, что он находится перед jcenter(). И вообще, я поставлю google() на первое место во всех репозиториях.

Ответ 3

Также необходимо добавить следующее:

скомпилируйте 'com.android.support:multidex:1.0.3'

После добавления вышеуказанной строки у меня сработало в дополнение к ответу выше

Ответ 4

Сначала вам нужно очистить проект, а затем перестроить его.

Сборка ---- > Чистый проект

Сборка ---- > Проект перестройки

Ответ 5

allprojects {
    repositories {
        google()
    }
}

работал у меня вместо

allprojects {
    repositories {
        maven {
            url 'https://maven.google.com'
        }
    }
}

Ответ 6

Если вы находитесь в Китае, пожалуйста, используйте

allprojects {
    respositories {
        google()
    }
}

вместо

allprojects {
    respositories {
        maven {
            url 'https://maven.google.com'
        }
    }
}

не спрашивайте меня, почему, я не хочу вам говорить.... может быть, GFW выбрал " https://maven.google.com "?

Ответ 7

Добавление google() в мои allprojects решило мою проблему...

allprojects {
    repositories {
        jcenter()
        google()
    }
}

Ответ 8

Если ни одно из вышеперечисленных решений не работает, добавьте mavenLocal():

allprojects {
    repositories {
        jcenter()
               maven {
            url 'https://maven.google.com'
        }

        mavenLocal()
        google()
    }
}

Ответ 9

Обновите все зависимости gradle до последней версии.

Ответ 10

моей проблемой было подключение к сети. Мне нужно было подключиться к серверу vpn для подключения к jcenter

Ответ 11

Переместите элемент google() вверх, чтобы убедиться, что он находится перед jcenter().

repositories {
    jcenter()
    google()
}

Ответ 12

Если ни одно из вышеперечисленных решений не работает, выполните следующие действия:

minSdkVersion 21

установите min sdkVersion, возможно, поможет вам, если ваше приложение разрешит это.