Плагин слишком стар, обновите его до более поздней версии или установите переменную окружения ANDROID_DAILY_OVERRIDE в
Сегодня я просто импортировал пример приложения из Android SDK в качестве модуля в свой проект (аналитика), и вдруг я получил эту ошибку gradle, когда я пытаюсь ее синхронизировать: Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE envrinment variable to...
Это мое приложение gradle
:
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()
}
}
Ответы
Ответ 1
Как и в CommonsWare, убедитесь, что у вас есть Gradle 2.2.1+ (последнее - 2.3).
Убедитесь, что вы обновили свою Android-студию, но здесь есть "плагины", которые необходимо
обновляться:
Верх 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.0
Приложение 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.1
Gradle: 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.
Ответ 2
Решение (обновлено: 24-май-2016):
Изменить build.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-alpha бросает Unsupported major.minor version 52.0, если вы не используете java JDK 8u91 и NetBeans 8.1
Ответ 3
В качестве побочного примечания, я получал такую же ошибку в совершенно не связанной ситуации - после того, как изменилась установка года в системе (т.е. 2015 → 2016); изменение часов назад на правильное решение проблемы.
Примечание 1: Я публикую это в основном потому, что у меня было точно такое же сообщение об ошибке, но рабочее решение оказалось отличным от того, как просто обновить версию плагина (как указано Jared Burrows
).
Примечание 2: использование
classpath 'com.android.tools.build:gradle:+'
может сделать версию плагина по умолчанию самой новой. Имейте в виду, что ваша сборка может нарушить изменения API (и по этой причине не рекомендуется документам API Android), поэтому используйте это на свой страх и риск, только если вы постоянно обновляете версию.
Ответ 4
На всякий случай кто-то борется с этим, в моем случае я использую Gradle 1.4 beta 1, и мне НЕОБХОДИМО сохранить его. Поэтому, чтобы заставить Android Studio работать с терминалом и запускать это:
launchctl setenv ANDROID_DAILY_OVERRIDE <your-value-on-error-message>
Перезапустите Android Studio, и проект снова будет создан.
Претензии к UPDATE 2 здесь: https://emmanuelbernard.com/blog/2012/05/09/setting-global-variables-intellij/
Ответ 5
Вы всегда можете проверить версию плагина gradle здесь:
https://bintray.com/android/android-tools/com.android.tools.build.gradle
Итак, на сегодняшний день вы должны использовать:
classpath 'com.android.tools.build:gradle:2.2.2'
соответственно.
Ответ 6
Замените свой путь класса чем-то двусмысленным. Это решение, и оно работает, но это не может быть хорошим решением.
classpath 'com.android.tools.build: gradle: +'
Лучший способ - заменить + на последнюю версию gradle
Ответ 7
Проверьте последнюю версию Gradle Плагин здесь:
![Download]()
Вы должны изменить это в зависимостях настроек приложения
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:[PLACE VERSION CODE HERE]'
}
}
Ответ 8
Эта проблема возникает из-за изменений версии Gradle, так как ваше приложение использует старую версию gradle, вам необходимо обновить ее до новой версии.
Это изменение должно быть сделано в файле build.gradle, посмотрите на эту ссылку http://www.feelzdroid.com/2015/11/android-plugin-too-old-update-recent-version.html. знать, как обновить Gradle и подробные шаги. есть.
Thans
Ответ 9
Я использую привязку данных Android, и сегодня у меня такая же проблема.
Чтобы решить эту проблему, измените:
classpath "com.android.databinding:dataBinder:1.0-rc0"
To:
classpath "com.android.databinding:dataBinder:1.0-rc1"
1.0-rc0 все еще можно найти на jcenter сейчас, я не знаю, почему его нельзя было использовать.
Ответ 10
У меня есть способ, который окончательно разрешил это
1. Проверьте свой calsspath в верхней строчке build.gradle, например мой
classpath 'com.android.tools.build:gradle:2.1.0-alpha3'
затем перейдите к
https://jcenter.bintray.com/com/android/tools/build/gradle/
найти выпуск, который новее, чем ваш, здесь я выбираю 2.1.0-beta3
измените classpath на ниже, затем запустите сборку.
classpath 'com.android.tools.build: gradle:2.1.0-beta3'
Ответ 11
Если вы хотите продолжать использовать новейшие версии разработки, эта проблема может повторяться каждый раз, когда ваша версия достаточно устарела.
Я сохраняю обновленный список самых последних версий разработки, а также стабильную версию моего ответа на этот похожий вопрос, так что я могу исправить его каждый раз, когда получаю новое предупреждение:
Android Studio 2.0 - плагин слишком стар, обновите его до более новой версии или установите ANDROID_DAILY_OVERRIDE
Ответ 12
установить переменную среды
ANDROID_DAILY_OVERRIDE к тому же значению Пример - b9471da4f76e0d1a88d41a072922b1e0c257745c
это работает для меня.
Ответ 13
Решение об удалении части "-rcX" работает. Я хотел бы дать более подробную информацию о том, почему происходит ошибка. Проблема заключается в https://android.googlesource.com/platform/tools/base/+/master/build-system/gradle/src/main/groovy/com/android/build/gradle/BasePlugin.java#230
Для плагинов, которые не имеют версии или содержат "rc", "альфа" или "бета", существует "возраст выхода на пенсию по умолчанию 40 дней".
Ответ 14
В последние месяцы я использовал "предварительную" версию Android Studio. Я попытался вернуться к "стабильным" выпускам для обновлений программного обеспечения, но этого было недостаточно, и я получил эту известную ошибку, о которой вы говорите.
Удаление моего Android Studio 2.2.preview и установка последней стабильной Android Studio (2.1) исправили ее для меня:)
Ответ 15
Перейти к стабильной версии или gradle в файле уровня приложения gradle
в моем случае это было
classpath 'com.android.tools.build: gradle:2.2.0-alpha3'
Я изменил его с помощью
classpath 'com.android.tools.build: gradle:2.1.2'
Ответ 16
выход от NonFinalPluginExpiry.java
пример 2.4.0-alpha7
https://github.com/c3ph3us/android-gradle-plugin-source-codes/blob/master/gradle-2.4.0-alpha7-sources/com/android/build/gradle/internal/NonFinalPluginExpiry.java
если кто-то хочет использовать плагин и не хочет делать ежедневные google shi..
либо необходимо:
- перекомпилировать плагин
- заменить "Plugin-Version" в манифесте
-
создать сценарий автоматизации для генерации 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);
ПРИМЕР APP В JAVA (источники + JAR):
- ДЛЯ GENERATE ADO - для ВСЕХ ОС с JVM
- SET ENV для LINUX
https://github.com/c3ph3us/ado
https://github.com/c3ph3us/ado/releases
Пример функции bash для экспорта env и начала создания/студии:
// eval export & start idea :)
function sti() {
export 'java -jar AndroidDailyOverride.jar p'
idea.sh
}
Ответ 17
Это андроидный способ сказать вам обновить град до последней версии. Вы можете сделать два things-
- Перейдите на новую версию градиента. Вы можете столкнуться с новыми ошибками после обновления (например, если вы обновляете до 4.1, вам придется адаптироваться к новому синтаксису - "компиляция" больше не действительна, используйте "реализацию").
- Обновите переменную ANDROID_DAILY_OVERRIDE до заданного значения. Перейдите в раздел Компьютер → Свойства → Дополнительные параметры системы → Переменные среды и создайте новую переменную или обновите значение существующего ANDROID_DAILY_OVERRIDE. Как следует из названия, это значение действует только в течение одного дня, а на следующий день вам снова придется переопределить переменную.
Ответ 18
Вы должны обновить версию gradle. например: com.android.build.gradle 1.3.0
эта проблема возникает, когда изменяется версия gradle.