Мне известно, что эта ошибка может быть вызвана использованием старых версий Gradle и плагина Android Gradle, но в этом случае эта ошибка сборки происходит только на удаленном облачном CI-сервере (Nevercode), а не локально (либо в Android Studio или командной строке). В проекте используются последние версии обоих. Похоже, это причина, отличная от упомянутой в других вопросах об этой ошибке.
gradle-wrapper.properties:
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
root build.gradle:
buildscript {
repositories {
jcenter()
google() // <-- Error points to (line 7) here
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
}
}
allprojects {
repositories {
jcenter()
google()
flatDir {
dirs 'libs'
}
}
}
Ошибка сборки:
Could not find method google() for arguments [] on repository container.
/build.gradle' line: 7
Gradle не может найти определение google (), но это должно работать с Gradle 4.0+ и плагином Android Gradle v3.0 + в соответствии с этим Ошибка: (6, 0) Метод Gradle DSL не найден: 'google ( ) '
Переключение google () на maven {url 'https://maven.google.com'} не решает проблему.
У меня есть другие проекты, которые прекрасно работают с этим провайдером CI, используя те же конфигурации. Проект с этой проблемой создается сервером CI на новой виртуальной машине из источника репозитория, поэтому я не ожидаю, что какие-либо проблемы с кэшированным состоянием вызовут это. Любопытно, что каждый раз он работает нормально, но не на CI-сервере.