Плагин слишком стар, обновите его до более поздней версии или установите переменную окружения 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/

Ответ 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..

либо необходимо:

  1. перекомпилировать плагин
  2. заменить "Plugin-Version" в манифесте
  3. создать сценарий автоматизации для генерации 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):

  1. ДЛЯ GENERATE ADO - для ВСЕХ ОС с JVM
  2. 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-

  1. Перейдите на новую версию градиента. Вы можете столкнуться с новыми ошибками после обновления (например, если вы обновляете до 4.1, вам придется адаптироваться к новому синтаксису - "компиляция" больше не действительна, используйте "реализацию").
  2. Обновите переменную ANDROID_DAILY_OVERRIDE до заданного значения. Перейдите в раздел Компьютер → Свойства → Дополнительные параметры системы → Переменные среды и создайте новую переменную или обновите значение существующего ANDROID_DAILY_OVERRIDE. Как следует из названия, это значение действует только в течение одного дня, а на следующий день вам снова придется переопределить переменную.

Ответ 18

Вы должны обновить версию gradle. например: com.android.build.gradle 1.3.0

эта проблема возникает, когда изменяется версия gradle.