Не вдалося знайти 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:

Поточний круг.імл

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 repo

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

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

Тож додайте залежність від Maven repo:

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 '}
Mohamed ALOUANE

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 - Canary Channel . Ось класний шлях верхнього рівняbuild.gradle com.android.tools.build:gradle:3.0.0-alpha4 , скопійований як є. Зауважте, що тепер це альфа4 після оновлення минулого тижня
sud007

99

Щоб скласти речі за допомогою командного рядка, мені потрібно було включити maven repo в BOTH 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 '} коли я розміщую його, це працює для мене
Faisal Ashraf

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.

Недійсні кеші та перезапущено все добре.

Файл | Недійсні кеші / перезапуск

виберіть "Недійсний та перезапустити"


8

Я зробив це:

натисніть Менеджер SDk:

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

Змінення оновлень каналу Canary, перевірка та оновлення ...

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

Після перейдіть у build.gradle та змініть версію компіляції на 26.0.0-beta2:

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

Після перейдіть у gradle / build.gradle та змініть залежності classpath '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.
Мохамед АЛУАН

Я думаю, що це допоможе, якщо ви опублікуєте додаток / build.gradle та build.gradle. Спробуйте також скористатись опцією File -> Invalidate Cachem перезапустити 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 Альфа

Це тому, що наразі цей gradle:3.0.0-alpha1сервіс обслуговується лише через новий 'https://maven.google.com'сховище, але зараз сайт 404 знаходиться в цьому місці, інакше, будучи загальнодоступним каталогом, ви побачите список дерев усіх доступних файлів, просто перейшовши до цього місця у вашому браузері. . Коли вони вирішать питання відключення, збірка 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


Я не прихильник, але це не виправляє проблему, оскільки ця проблема виникає ПІСЛЯ ви фактично переходите на новий gradle.
Кирило Запилаєв

1

Android Studio (Попередній перегляд) іноді рекомендує оновити плагін 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

Щойно я знайшов цю помилку beta1 gradle в Android Tracker Bug Tracker . Я також нещодавно дізнався про Android Studio> Меню довідки> Надіслати відгук привів мене до трекера помилок.

Знайдено тимчасове рішення на androiddev reddit для проблеми 3.1.0-beta1: або поверніться до попереднього перегляду 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

У мене є ця проблема, коли я оновлюю андроїд-студію від 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.