Не удалось найти com.android.tools.build:gradle:3.0.0-alpha1 в круге CI


157

Я обновляю плагин Gradle до последней версии, com.android.tools.build:gradle:3.0.0-alpha1 и эта ошибка произошла:

export TERM="dumb"
if [ -e ./gradlew ]; then ./gradlew test;else gradle test;fi

FAILURE: Build failed with an exception.

What went wrong:
    A problem occurred configuring root project 'Android-app'. Could not
 resolve all dependencies for configuration ':classpath'. Could not
 find com.android.tools.build:gradle:3.0.0-alpha1. Searched in the
 following locations:
 https://jcenter.bintray.com/com/android/tools/build/gradle/3.0.0-alpha1/gradle-3.0.0-alpha1.pom
 https://jcenter.bintray.com/com/android/tools/build/gradle/3.0.0-alpha1/gradle-3.0.0-alpha1.jar
 Required by:

Текущий circle.yml

dependencies:
   pre:
      - mkdir -p $ANDROID_HOME"/licenses"
      - echo $ANDROID_SDK_LICENSE > $ANDROID_HOME"/licenses/android-sdk-license"
      - source environmentSetup.sh && get_android_sdk_25

   cache_directories:
    - /usr/local/android-sdk-linux
    - ~/.android
    - ~/.gradle
   override:
    - ./gradlew dependencies || true

test:
  post:
    - mkdir -p $CIRCLE_TEST_REPORTS/junit/
    - find . -type f -regex ".*/target/surefire-reports/.*xml" -exec cp {} $CIRCLE_TEST_REPORTS/junit/ \;

machine:
    java:
        version: oraclejdk8

Редактировать: Мой файл Gradle:

buildscript {
  repositories {
    jcenter()
    maven {
      url 'https://maven.google.com'
    }
  }
  dependencies {
    classpath 'com.android.tools.build:gradle:3.0.0-alpha1'
    classpath 'com.google.gms:google-services:3.0.0'
    classpath "io.realm:realm-gradle-plugin:3.1.3"
  }
}

allprojects {
  repositories {
    mavenCentral()
    jcenter()
  }
}

task clean(type: Delete) {
  delete rootProject.buildDir
}

Ответы:


342

У Google появился новый репозиторий Maven

https://android-developers.googleblog.com/2017/10/android-studio-30.html > раздел репозитория Google Maven

https://developer.android.com/studio/preview/features/new-android-plugin-migration.html https://developer.android.com/studio/build/dependencies.html#google-maven

Поэтому добавим зависимость от репозитория Maven:

buildscript {
    repositories {
        ...
        // You need to add the following repository to download the
        // new plugin.
        google() // new which replace https://maven.google.com
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.6.3'  //Minimum supported Gradle version is 4.6.
    }
}

1
если вы запускаете вводную ошибку ошибки, используйте add thse: mavenCentral () jcenter () maven {url ' maven.google.com '}
Мохамед Алоуан

4
Вам не нужно добавлять mavenCentral(). Потому что jcenter()должно быть достаточно: jfrog.com/knowledge-base/… blog.bintray.com/2015/02/09/…
mtrakal

Я добавляю maven {url ' maven.google.com '} в скрипт Gradle и создаю его. Я получаю эту ошибку: Сбой синхронизации Gradle: Нет маршрута к хосту. Как я могу решить эту проблему
yuchangfu

попробуйте открыть сайт: maven.google.com в браузере, вы увидите, что, похоже, у них есть ошибка / время простоя: /
mtrakal

2
@Parker Я использую Android Studio 3.0 - Канарский канал . Вот путь к классу верхнего уровняbuild.gradle com.android.tools.build:gradle:3.0.0-alpha4 , скопированный как есть. Обратите внимание, что теперь это обновление alpha4 после обновления на прошлой неделе
sud007

99

Для компиляции через командную строку мне нужно было включить репозиторий Maven в ОБА buildscriptи allprojects.

корень build.gradle:

buildscript {
    repositories {
        jcenter()
        maven { url 'https://maven.google.com' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0-alpha2'
        ...
    }
}

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

Это нужно в buildscriptблоке, чтобы найти AGP, и в allprojectsблоке, чтобы найти android.archи com.android.databindingпакеты (и другие)

ОБНОВЛЕНИЕ: Похоже, что новый репозиторий только что вызван, google()но мне все еще нужно было объявить его в обоих местах.


5
Обратите внимание на обновление: нужно было объявить его в обоих местах, было решение для меня, репозиториев и всех проектов
Ultimo_m

maven {url ' maven.google.com '}, когда я размещаю его, он работает для меня
Фейсал Ашраф

31

Чтобы синхронизировать все ответы здесь и в других местах:

buildscript {
  repositories {
    google() 
    jcenter()
  }
  dependencies {
    classpath 'com.android.tools.build:gradle:3.0.0'

  } }

Сделайте так, чтобы ваш buildscript в build.gradle выглядел следующим образом. Он находит их всех между Google и JCenter. Только один из них не найдет все зависимости на данный ответ.


Я должен был добавить это allprojectsи запустить, android/gradlew --stopпрежде чем пытаться снова. Тогда это сработало.
Wayferer

2
У меня было, repositories { jcenter() google() }и оно не работало ... Изменение порядка, чтобы repositories { google() jcenter() }решить проблему
Бен

15

Решение mtrakal работало нормально.

Добавлено в gradle.build:

buildscript {
    repositories {
        maven { url 'https://maven.google.com' }
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0-alpha2'

        // NOTE: Do not place your application dependencies here; 
        // they belong in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

Затем он автоматически обновляется до альфа2.

Обнулил кеши и перезапустил все нормально.

Файл | Недействительные кэши / перезапуск

выберите «Invalidate & Restart»


8

Я сделал это:

нажмите SDK Manager:

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

Изменитесь в обновлениях к Канарскому Каналу, проверьте и обновите это ...

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

После этого зайдите в build.gradle и измените версию компиляции на 26.0.0-beta2:

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

После этого зайдите в gradle / build.gradle и измените путь к классам зависимостей 'com.android.tools.build:gradle:3.0.0-alpha7':

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

После синхронизации проекта ... Это работает для меня! Я надеюсь, что я помог ... TKS!


6

Убедитесь, что вы добавили следующую строку в ваш build.gradle верхнего уровня, и это должно это исправить.

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

Я получил точно такую ​​же ошибку, которую вы упомянули выше, как только я добавил эту запись, все заработало.


попробовал и получил это:> Не удалось найти com.android.support.constraint: constraint-layout: 1.0.2.
Мохамед АЛУАН

Я думаю, что это поможет, если вы разместите свои app / build.gradle и build.gradle. Также попробуйте использовать File -> Invalidate Cache optionm restart android studio и посмотрите, станет ли все лучше.
Subodh Nijsure

2

Обновление: Невероятно расстраивает, но редирект Google maven.google.comрепозитория, кажется, портит загрузку ресурсов. Если вы вместо этого установите свой репозиторий для maven { url 'https://dl.google.com/dl/android/maven2' } файлов, будут разрешены. Вы можете доказать это, пытаясь получить полностью квалифицированный ресурс на https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.0.0-alpha1/gradle-3.0.0-alpha1.pom 3.0.0 Alpha

Это потому, что в настоящее время gradle:3.0.0-alpha1он обслуживается только через новый 'https://maven.google.com'репозиторий, но в настоящее время сайт находится в этом месте 404s, в противном случае, являясь общедоступным каталогом, вы увидите список всех доступных файлов в виде дерева, просто перейдя в это местоположение в браузере. , Когда они разрешат свое отключение, ваша сборка CI должна пройти немедленно.


Хранилище [ dl.google.com/dl/android/maven2] больше не доступно ...
marciowb

2

Для меня я решил эту ошибку, просто добавив эту строку в хранилище

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

1

Я нахожу это в Google: https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html

Это говорит о том, что нам нужно

  1. Обновить версию Gradle до gradle-4.1-all (изменить gradle-wrapper.propertiesнаdistributionUrl=\https\://services.gradle.org/distributions/gradle-4.1-all.zip
  2. Добавьте google () в репозитории repositories { google() }иdependencies { classpath 'com.android.tools.build:gradle:3.0.0-beta7' }

Вам может потребоваться Android Studio 3


Я не downvoter, но это не решает проблему, потому что эта проблема возникает после того, как вы на самом деле переходите на новый Gradle.
Кирилл Запылаев,

1

Android Studio (Preview) иногда рекомендует обновить плагин Gradle, который еще не доступен (Google забыл опубликовать его?). Такие как сегодня с

'Com.android.tools.build:gradle:3.1.0-beta1'

Я обнаружил, что могу видеть текущие версии com.android.tools.build:gradle здесь, а затем просто выбираю самые новые:

https://dl.google.com/dl/android/maven2/index.html

Я только что нашел эту бета1 ошибку в Android Bug Tracker . Я также только что узнал, что Android Studio> Меню Справка> Отправить отзыв привело меня к трекеру ошибок.

Нашел временное решение на androiddev reddit для проблемы 3.1.0-бета1: либо откатитесь на Preview Canary 8, либо переключитесь на плагин gradle 3.0.1, пока Canary 10 не будет выпущен в ближайшее время.


1

Для иранцев : нам нужно использовать прокси или VPN для создания приложения.

Причина: бойкот со стороны серверов Google приводит к невозможности создания приложения или обновления требований.


0

Моя проблема заключалась в том , что я забыл , что я добавил прокси в gradle.propertiesв C:\Users\(current user)\.gradleкак:

systemProp.http.proxyHost=****
systemProp.http.proxyPort=8850

0

У меня есть эта проблема при обновлении Android Studio от 3,2 до 3,3 и проверить все ответы, что я ни один из них не работал. в конце я включил репозиторий Maven и его работу.

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


0

Просто добавь это

buildscript {
    repositories {
        ...
        google() 
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0' 
    }
}

Это работает ... Ура !!!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.