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()
}
}
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 .
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
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. .
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/
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.
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
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
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:
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é.
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'
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".
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
la sortie provient de NonFinalPluginExpiry.Java
exemple 2.4.0-alpha7
soit besoin de:
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):
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
}
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'
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 :)
définissez la variable d'environnement Android_DAILY_OVERRIDE sur la même valeur. Exemple - b9471da4f76e0d1a88d41a072922b1e0c257745c
cela fonctionne pour moi.