web-dev-qa-db-fra.com

Le plug-in est trop ancien, veuillez mettre à jour votre système vers une version plus récente ou définissez la variable d'environnement Android_DAILY_OVERRIDE sur

aujourd'hui, je viens d'importer un exemple d'application de Android SDK en tant que module de mon projet (analyse) et, tout à coup, cette erreur s'est produite lors de la synchronisation: Plugin is too old, please update to a more recent version, or set Android_DAILY_OVERRIDE envrinment variable to...

Ceci est mon application gradle fichier:

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')
}

Avez-vous une idée de ce qui peut en être la cause (j'utilise le plugin version 1.1.0-rc1 et la version gradle version 2.2 et Android Studio version 1.1.0)?

MODIFIER:

C'est mon top 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()
    }
}
175
Mario Norato

Comme le propose CommonsWare, assurez-vous de disposer de Gradle 2.2.1+ (le dernier en date est la 2.3).

Assurez-vous de mettre à jour votre Android Studio, mais voici les "plugins" à mettre à jour:

Haut build.gradle:

Changement:

classpath 'com.Android.tools.build:gradle:1.1.0-rc1'

À:

classpath 'com.Android.tools.build:gradle:1.1.3' // latest 1.5.0

App build.gradle:

Changement:

compile 'com.Android.support:recyclerview-v7:21.0.0'
compile 'com.Android.support:cardview-v7:21.0.0'

À:

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

Grade: https://gradle.org/downloads

Toujours vérifier le Android SDK Manager pour connaître les dernières révisions:

Android Build Tools Plugin: http://tools.Android.com/tech-docs/new-build-system

Bibliothèques d'assistance Android: http://developer.Android.com/tools/support-library/features.html

Pour afficher les dernières versions du plug-in, consultez directement la page Bintray Jcenter: https://bintray.com/Android/android-tools/com.Android.tools.build.gradle/view .

132
Jared Burrows

Solution (Mise à jour: 24-May-2016): Modifiez build.gradle (projet)

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 : Par exemple: 2.1.0

X.X.X-lastVersionGServices : Par exemple: 3.0.0 (prise en charge de Firebase Analytics)

Remarque: si vous utilisez le plugin google-services, vous devez utiliser la même version (le cas échéant).

Attention!! -> 2.2.0-alpha lance la version major.minor non supportée 52.0 si vous n'utilisez pas Java JDK 8u91 et NetBeans 8.1

46
SergioLucas

En passant, je reçois la même erreur dans une situation totalement indépendante: après le réglage de mon année d’horloge système (c’est-à-dire 2015 -> 2016); Remettre l'horloge à l'heure correcte a résolu le problème.

Note 1: Je poste ceci principalement parce que j'avais exactement le même message d'erreur, mais la solution de travail s'est révélée différente de la mise à jour de la version du plugin (telle que publiée par Jared Burrows).

Note 2: utilisation

classpath 'com.Android.tools.build:gradle:+'

peut rendre la version par défaut du plugin la plus récente. Gardez à l'esprit que votre construction peut interrompre les modifications d'API (et est donc découragée par les documents Android de l'API), utilisez-la à vos risques et périls uniquement si vous mettez toujours à jour constamment la version. .

31
vaxquis

Juste au cas où quelqu'un aurait des difficultés avec cela, dans mon cas, j'utilise Gradle 1.4 beta 1 et j'ai BESOIN de le garder. Donc, pour que Android Studio fonctionne, allez au terminal et lancez ceci:

launchctl setenv Android_DAILY_OVERRIDE <your-value-on-error-message>

Redémarrez Android Studio et le projet sera à nouveau généré.

Félicitations à UPDATE 2 ici: https://emmanuelbernard.com/blog/2012/05/09/setting-global-variables-intellij/

29
Felipe Duarte

Vous pouvez toujours consulter la dernière version du plugin Gradle ici: https://bintray.com/Android/android-tools/com.Android.tools.build.gradle

Donc, à compter d'aujourd'hui, vous devriez utiliser:

classpath 'com.Android.tools.build:gradle:2.2.2'

en conséquence.

15
IgorGanapolsky

Remplacez votre chemin de classe par quelque chose d'ambigu comme celui-ci. C'est une solution et cela fonctionne, mais ce n'est peut-être pas une bonne solution.

classpath 'com.Android.tools.build:gradle:+'

Le meilleur moyen est de remplacer le + par la dernière version de gradle

9
Victor Mwenda

Vérifiez la dernière version de Gradle Plugin ici:

Download

Vous devriez changer cela dans les dépendances des paramètres de l'application

buildscript {
repositories {
    jcenter()
}
dependencies {
    classpath 'com.Android.tools.build:gradle:[PLACE VERSION CODE HERE]'

}

}

6
Dinesh Sunny

Ce problème est dû aux modifications apportées à la version de Gradle. Comme votre application utilise l'ancienne version de Gradle, vous devez effectuer la mise à jour vers la nouvelle version.

Ces modifications doivent être effectuées dans le fichier build.gradle. Consultez ce lien http://www.feelzdroid.com/2015/11/Android-plugin-too-old-update- recent-version.html . pour savoir comment mettre à jour le diplôme et des étapes détaillées sont fournies. Là.

Thans

2
Naruto

Si vous souhaitez continuer à utiliser les dernières versions de développement, ce problème peut se reproduire chaque fois que votre version est suffisamment obsolète.

J'ai gardé une liste à jour des versions de développement les plus récentes ainsi que la version stable dans ma réponse à cette question similaire, afin de pouvoir y remédier chaque fois que je reçois un nouvel avertissement:

Android Studio 2.0 - Le plug-in est trop ancien, veuillez mettre à jour votre version plus récemment, ou définir Android_DAILY_OVERRIDE

1
Nick Cardoso

J'utilise Android Data Binding et j'ai le même problème aujourd'hui.

Pour le résoudre, changez:

classpath "com.Android.databinding:dataBinder:1.0-rc0"

À:

classpath "com.Android.databinding:dataBinder:1.0-rc1"

1.0-rc0 pouvait toujours être trouvé sur jcenter maintenant, je ne sais pas pourquoi il ne pourrait pas être utilisé.

1
Peter Zhao

J'ai enfin trouvé un moyen de résoudre ce problème 1. vérifiez votre calsspath dans le fichier build.gradle supérieur, par exemple, le mien est classpath 'com.Android.tools.build:gradle:2.1.0-alpha3', puis accédez à https: //jcenter.bintray.com/com/Android/tools/build/gradle/ trouver une version plus récente que la vôtre, je choisis ici le chemin d'accès aux classes 2.1.0-beta3, puis lance la version. classpath 'com.Android.tools.build:gradle:2.1.0-beta3'

1
hugo

La solution consistant à supprimer la partie '-rcX' fonctionne. Je voulais donner plus de détails sur la raison de l'erreur. Le problème est avec https://Android.googlesource.com/platform/tools/base/+/master/build-system/gradle/src/main/groovy/com/Android/build/gradle/BasePlugin. Java # 2

Il existe un âge par défaut de 40 jours de retraite pour les plugins qui ne possèdent pas de version ou qui contiennent "rc", "alpha" ou "bêta".

0
ashoykh

C'est la façon dont Android vous indique de mettre à niveau gradle vers la version la plus récente. Vous pouvez faire deux choses

  1. Passez à la nouvelle version de Gradle. Vous pouvez être confronté à de nouvelles erreurs après la mise à niveau (par exemple, si vous passez à la version 4.1, vous devrez vous adapter à la nouvelle syntaxe - "compiler" n'est plus valide, utilisez "implementation").
  2. Mettez à jour votre variable Android_DAILY_OVERRIDE à la valeur donnée. Accédez à Ordinateur -> Propriétés -> Paramètres système avancés -> Variables d'environnement, puis créez une nouvelle variable ou mettez à jour la valeur d'Android_DAILY_OVERRIDE existant. Comme son nom l'indique, cette valeur n'est valide que pour un jour et le jour suivant, vous devrez à nouveau remplacer la variable.
0
kshubham07

la sortie provient de NonFinalPluginExpiry.Java

exemple 2.4.0-alpha7

https://github.com/c3ph3us/Android-gradle-plugin-source-codes/blob/master/gradle-2.4.0-alpha7-sources/com/Android/build/gradternal/internal/NonFinalPluginExpiry. Java

si quelqu'un veut utiliser un plugin et ne veut pas faire un google shi quotidien ..

soit besoin de:

  1. plugin de recompilation
  2. remplacer "Plugin-Version" dans le manifeste
  3. créer un script d'automatisation pour générer env var et le configurer quotidiennement

         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);
    

EXEMPLE APP IN Java (sources + JAR):

  1. FOR GENERATE ADO - pour TOUS LES OS AVEC JVM
  2. SET ENV pour LINUX

https://github.com/c3ph3us/ado

https://github.com/c3ph3us/ado/releases

exemple de fonction bash pour exporter env et démarrer idea/ou studio:

// eval export & start idea :) 
function sti() {
    export `Java -jar AndroidDailyOverride.jar p`
    idea.sh
}
0
ceph3us

Aller pour la version stable ou gradle dans le fichier Gradle niveau de l'application dans mon cas, il était
classpath 'com.Android.tools.build:gradle:2.2.0-alpha3'

Je l'ai changé avec

chemin de classe 'com.Android.tools.build:gradle:2.1.2'

0
user3326676

Au cours des derniers mois, j'ai utilisé une version "preview" de Android Studio. J'ai essayé de revenir aux versions "stables" pour les mises à jour logicielles mais cela ne suffisait pas et j'ai eu cette fameuse erreur dont vous parlez.

Désinstallation de mon Android Studio 2.2.preview et installation du dernier stable Android Studio (2.1) a corrigé le problème pour moi :)

0
Guillaume Gendre

définissez la variable d'environnement Android_DAILY_OVERRIDE sur la même valeur. Exemple - b9471da4f76e0d1a88d41a072922b1e0c257745c

cela fonctionne pour moi.

0
Virendra