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
? Как я могу решить эту проблему?
Ответы
Ответ 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, возможно, поможет вам, если ваше приложение разрешит это.