Каждый раз, когда я пытаюсь собрать apk, он терпит неудачу с этой ошибкой:
> Could not find multidex.jar (com.android.support:multidex:1.0.2).
Searched in the following locations:
https://jcenter.bintray.com/com/android/support/multidex/1.0.2/multidex-1.0.2.jar
> Could not find design.jar (com.android.support:design:27.0.0).
Searched in the following locations:
https://jcenter.bintray.com/com/android/support/design/27.0.0/design-27.0.0.jar
> Could not find common.jar (android.arch.core:common:1.0.0).
Searched in the following locations:
https://jcenter.bintray.com/android/arch/core/common/1.0.0/common-1.0.0.jar
Я проверил Статус JCenter, он работает нормально.
Так почему это не удается?
UPD
Тот же код, что и пару дней назад!
вот уровень проекта build.gradle
buildscript {
repositories {
jcenter()
mavenCentral()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.0'
classpath 'com.google.gms:google-services:3.2.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
maven {
// All of React Native (JS, Android binaries) is installed from npm
url "$rootDir/reactnative/node_modules/react-native/android"
}
jcenter()
maven { url "https://jitpack.io" }
maven {url "https://clojars.org/repo/"}
maven { url "https://maven.google.com" }
mavenCentral()
}
}
Обновлено с помощью уровня проекта build.gradle.
Можете ли вы добавить jcenter() в качестве последнего оператора как в repositories{}, так и в google() в качестве первого?
@Sagar это сработало! Буду признателен, если вы дадите какие-либо объяснения.
Большой! Я дал некоторое объяснение в ответе
com.android.support:design:27.0.0 доступен не в репозитории jcenter(), а в репозитории google(). Глядя на ваши журналы ошибок, похоже, что студия Android пытается найти их в jcenter(). Чтобы заставить его заглянуть внутрь google(), сделайте google() своим первым оператором или поместите его над jcenter() в обоих блоках repositories{..}.
repositories {
...
google()
jcenter()
...
}
Я не знаю, почему gradle не может искать в других объявленных репозиториях вместо только первого?
@ThinkTwiceCode: Я подозреваю, что jcenter() может иметь более старую версию библиотеки и не может сопоставить ее с последней версией. google() имеет последнюю версию библиотек, поэтому она может разрешиться правильно.
Спасибо, что спасли мне день!
Можете ли вы обновить свой вопрос с помощью уровня проекта build.gradle?