Плагин слишком стар, пожалуйста, обновите его до более поздней версии, или установите Android DAILY OVERRIDE environment variable to
сегодня я только что импортировал образец приложения из Android SDK в качестве модуля в моем проекте (analytics), и вдруг я получил эту ошибку gradle, когда пытаюсь ее синхронизировать:Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE envrinment variable to...
это мое приложение gradle file:
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.0"
defaultConfig {
applicationId "xxx.xxxxxx.xxxxx"
versionCode 1
versionName '1'
minSdkVersion 9
targetSdkVersion 22
versionCode 1
versionName '1'
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.0.0'
compile 'com.google.android.gms:play-services:6.5.87'
compile 'com.android.support:recyclerview-v7:21.0.0'
compile 'com.android.support:cardview-v7:21.0.0'
compile 'com.facebook.android:facebook-android-sdk:3.21.1'
testCompile 'junit:junit:4.12'
compile project(':volley')
}
есть ли у вас какие-либо идеи, которые могут быть причиной (я использую плагин версии 1.1.0-rc1 и gradle версии 2.2 и Android Studio версия 1.1.0)?
EDIT:
это build.gradle:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.0-rc1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
18 ответов:
так же, как CommonsWare предложил, убедитесь, что у вас есть Gradle 2.2.1+ (последний 2.3).
убедитесь, что вы обновить Android Studio, но вот "плагины", которые нужно будут обновлены:
Top
build.gradle:изменения:
classpath 'com.android.tools.build:gradle:1.1.0-rc1'To:
classpath 'com.android.tools.build:gradle:1.1.3' // latest 1.5.0App
build.gradle:изменения:
compile 'com.android.support:recyclerview-v7:21.0.0' compile 'com.android.support:cardview-v7:21.0.0'To:
compile 'com.android.support:recyclerview-v7:22.0.0' // latest 23.1.1 compile 'com.android.support:cardview-v7:22.0.0' // latest 23.1.1Gradle: https://gradle.org/downloads
всегда проверяйте Android SDK Manager для последних версий:
Android Build Tools плагин:http://tools.android.com/tech-docs/new-build-system
поддержка библиотек Android:http://developer.android.com/tools/support-library/features.html
чтобы просмотреть последние версии плагинов, просмотрите страницу Bintray Jcenter напрямую: https://bintray.com/android/android-tools/com.android.tools.build.gradle/view.
решение (обновлено: 24-май-2016): Изменить сборку.gradle (проект)
buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:X.X.X-lastVersionGradle' classpath 'com.google.gms:google-services:X.X.X-lastVersionGServices' // If use google-services // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files }X. X. X-lastVersionGradle: например: 2.1.0
X. X. X-lastVersionGServices: например: 3.0.0 (поддержка Firebase Analytics)
Примечание: Если вы используете плагин google-services должна быть та же версия (если есть)
предупреждение!! - > 2.2.0-Альфа бросает неподдерживаемый майор.минорная версия 52.0 если вы не используете Java JDK 8u91 и NetBeans 8.1
в качестве побочного Примечания, я получаю ту же ошибку в совершенно несвязанной ситуации - после того, как моя установка года системных часов была изменена (т. е. 2015 -> 2016); изменение часов обратно на правильный решило проблему.
Примечание 1: я отправляю это в основном потому, что у меня было точно такое же сообщение об ошибке, но рабочее решение оказалось иначе, чем просто обновление версии плагина (как написал
Jared Burrows).примечание 2: используя
classpath 'com.android.tools.build:gradle:+'можно сделать версию плагина по умолчанию для новейшей. Имейте в виду, что ваша сборка может сломаться при изменениях API (и именно по этой причине не поощряется документами API Android), поэтому используйте это на свой страх и риск, только если вы постоянно обновляете версию в любом случае.
на всякий случай, если кто-то борется с этим, в моем случае я использую Gradle 1.4 beta 1, и мне нужно его сохранить. Итак, чтобы сделать Android Studio works, перейдите к терминалу и запустите это:
launchctl setenv ANDROID_DAILY_OVERRIDE <your-value-on-error-message>перезапустите Android Studio, и проект будет построен снова.
престижность обновления 2 здесь: https://emmanuelbernard.com/blog/2012/05/09/setting-global-variables-intellij/
вы всегда можете проверить последнюю версию плагина gradle здесь: https://bintray.com/android/android-tools/com.android.tools.build.gradle
Так что на сегодняшний день Вы должны использовать:
classpath 'com.android.tools.build:gradle:2.2.2'соответственно.
замените свой путь к классу чем-то неоднозначным, как это. Это решение, и оно работает, но это может быть не очень хорошее решение.
classpath 'com.андроид.инструменты.сборка: gradle:+'
лучший способ-заменить + на последнюю версию gradle
эта проблема возникает из-за изменений версии Gradle, так как ваше приложение использует старую версию gradle, вам нужно обновить до новой версии.
эти изменения должны быть сделаны в сборке.файл gradle, посмотрите на эту ссылку http://www.feelzdroid.com/2015/11/android-plugin-too-old-update-recent-version.html. чтобы знать, как обновить gradle и подробные шаги предоставляются. там.
спасибо
Я использую Привязка Данных Android и у меня сегодня та же проблема.
чтобы решить эту проблему, измените:
classpath "com.android.databinding:dataBinder:1.0-rc0"To:
classpath "com.android.databinding:dataBinder:1.0-rc1"1.0-rc0 все еще можно найти на jcenter теперь я не знаю, почему это не может быть использовано.
Я нашел способ, который, наконец, решить эту 1. проверьте свой calsspath в верхней сборке.Gradle,а электронная.моя Г classpath ' com.андроид.инструменты.сборка: gradle: 2.1.0-alpha3' затем перейдите к https://jcenter.bintray.com/com/android/tools/build/gradle/ найдите релиз, который новее вашего,здесь я выбираю 2.1.0-beta3 измените classpath на ниже, а затем запустите сборку. classpath ' com.андроид.инструменты.сборка: gradle: 2.1.0-beta3'
Если вы хотите продолжать использовать новейшие версии развития, то эта проблема может повторяться каждый раз, когда ваша версия достаточно устарел.
Я держал актуальный список самых последних версий разработки, а также стабильную версию на мой ответ на этот аналогичный вопрос, так что я могу исправить это каждый раз, когда я получаю новое предупреждение:
установить переменную окружения ANDROID_DAILY_OVERRIDE к тому же примеру значения - b9471da4f76e0d1a88d41a072922b1e0c257745c
это работает для меня.
решение удаления части "- rcX " работает. Я хотел бы предоставить более подробную информацию о том, почему происходит ошибка. Проблема с https://android.googlesource.com/platform/tools/base/+/master/build-system/gradle/src/main/groovy/com/android/build/gradle/BasePlugin.java#230
существует 40-дневный пенсионный возраст по умолчанию для плагинов, которые не имеют версии или содержат "rc", "alpha" или "beta".
в последние месяцы я использовал "предварительную" версию Android Studio. Я попытался вернуться к "стабильным" выпускам для обновлений программного обеспечения, но этого было недостаточно, и я получил эту знаменитую ошибку, о которой вы говорите.
удаление моей Android Studio 2.2.просмотр и установка последней стабильный Android Studio (2.1) исправил это для меня :)
перейти на стабильную версию или gradle в файле gradle уровня приложения в моем случае это было
classpath ' com.андроид.инструменты.сборка: gradle: 2.2.0-alpha3'Я изменил его с
classpath 'com.андроид.инструменты.сборка: gradle: 2.1.2'
выход из NonFinalPluginExpiry.java
пример 2.4.0-alpha7
если кто-то хочет использовать плагин и не хочет делать ежедневный google shi..
нужно:
- перекомпилировать плагин
- заменить "Плагин-версия" в манифесте
сделайте скрипт автоматизации для генерации env var и установите его ежедневно
MessageDigest crypt = MessageDigest.getInstance("SHA-1"); crypt.reset(); crypt.update(String.format( "%1$s:%2$s:%3$s", now.getYear(), now.getMonthValue() -1, now.getDayOfMonth()) .getBytes("utf8")); String overrideValue = new BigInteger(1, crypt.digest()).toString(16);пример приложения на JAVA (sources + JAR):
- для генерации ADO - для всех ОС с JVM
- установить ENV для LINUX
https://github.com/c3ph3us/ado
https://github.com/c3ph3us/ado/releases
пример функции bash для экспорта env и запуска idea / or studio:
// eval export & start idea :) function sti() { export `java -jar AndroidDailyOverride.jar p` idea.sh }
Это способ android сказать вам, чтобы обновить gradle до самой последней версии. Вы можете сделать две вещи-
- обновление до более новой версии gradle. Вы можете столкнуться с новыми ошибками после обновления (например, если вы обновляете до 4.1, вам придется адаптироваться к новому синтаксису - "компиляция" больше не действительна, используйте "реализация").
- обновите переменную ANDROID_DAILY_OVERRIDE до заданного значения. Перейдите в раздел Компьютер - > Свойства - > Дополнительные параметры системы -> Переменные среды, и создать новую переменную или обновить значение существующего ANDROID_DAILY_OVERRIDE. Как следует из названия, это значение действует только в течение одного дня, а на следующий день вам снова придется переопределить переменную.
вы должны обновить версию gradle. например: com.андроид.строить.gradle 1.3.0
эта проблема возникает при изменении версии gradle.
Comments