今日、私は自分のプロジェクト(分析)のモジュールとしてAndroid SDKからサンプルアプリをインポートしましたが、同期しようとすると突然このエラーが発生しました: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を使用しています)
編集:
これが私のトップ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()
}
}
CommonsWareが提案したように、Gradle 2.2.1以降(最新のものは2.3)を使用していることを確認してください。
必ずAndroid Studioをアップグレードしてください。ただし、更新が必要な「プラグイン」は次のとおりです。
トップbuild.gradle
:
変化する:
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
:
変化する:
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
Gradle: https://gradle.org/downloads
最新のリビジョンについては、Android SDK Managerを常に確認してください。
Androidビルドツールプラグイン: 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 .
解決策(更新日:2016年5月24日):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サービスプラグインを使用している場合は、同じバージョンである必要があります(ある場合)。
警告!! - >2.2.0-alphaでJava JDK 8u91およびNetBeans 8.1 を使用していない場合、Unsupported major.minorバージョン52.0がスローされます。
副次的な注意事項として、システムクロックの年設定が変更された後(つまり、2015-> 2016)、まったく無関係な状況で同じエラーが発生しました。クロックを正しいクロックに戻すことで問題が解決しました。
注1:主にまったく同じエラーメッセージが表示されたため、これを投稿していますが、実際のソリューションはプラグインのバージョンの更新(Jared Burrows
による投稿)とは異なることが判明しています。
注2:使用
classpath 'com.Android.tools.build:gradle:+'
プラグインのバージョンをデフォルトの最新のものにすることができます。ビルドがAPIの変更で破損する可能性があることに留意してください(そのため、Android APIドキュメントによって推奨されません)、とにかく常にバージョンを更新している場合にのみ、これを使用してください。
万が一誰かがこれに苦労しているのですが、私の場合は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/
あなたはいつもここで最新のgradleプラグインバージョンをチェックすることができます: https://bintray.com/Android/android-tools/com.Android.tools.build.gradle
だから今日のようにあなたが使用する必要があります:
classpath 'com.Android.tools.build:gradle:2.2.2'
それに応じて。
クラスパスをこのようなあいまいなものに置き換えます。その解決策とそれはうまくいきますが、それは良い解決策ではないかもしれません。
クラスパス 'com.Android.tools.build:gradle:+'
最善の方法は、+をgradleの最新バージョンに置き換えることです。
この問題はGradleのバージョン変更が原因で発生します。あなたのアプリケーションは古いバージョンのgradleを使用しているので、新しいバージョンに更新する必要があります。
この変更はbuild.gradleファイルで行う必要があります。このリンクを見てください http://www.feelzdroid.com/2015/11/Android-plugin-too-old-update- recent-version.html 。 gradleの更新方法を知るために詳細な手順が提供されています。そこ。
タンス
最新の開発版を使い続けたいのであれば、この問題はあなたの版が十分に古くなるたびに再発する可能性があります。
私は私がこの新しい質問に答えるために最新の開発版と安定版の最新のリストを保管しているので、私は新しい警告が出るたびにそれを修正することができます。
Android Studio 2.0 - プラグインが古すぎる、より新しいバージョンに更新するか、Android_DAILY_OVERRIDE を設定してください
私は Android Data Binding を使用していますが、今日も同じ問題があります。
解決するには、
classpath "com.Android.databinding:dataBinder:1.0-rc0"
に:
classpath "com.Android.databinding:dataBinder:1.0-rc1"
1.0-rc0はまだ jcenter にありますが、なぜそれが使用できないのかわかりません。
私は最終的にこれを解決する方法を得た1。トップbuild.gradleであなたのcalsspathを確認してください、例えば私のものはクラスパス 'com.Android.tools.build:gradle:2.1.0-alpha3'それから https ://jcenter.bintray.com/com/Android/tools/build/gradle/ あなたのものよりも新しいリリースを見つけ、ここで私は2.1.0-beta3を選択し、次にクラスパスを変更してからビルドを起動します。クラスパス 'com.Android.tools.build:gradle:2.1.0-beta3'
'-rcX'部分を削除する解決策は機能します。なぜエラーが発生しているのか、もう少し詳しく説明したいと思います。問題は https://Android.googlesource.com/platform/tools/base/+/master/build-system/gradle/src/main/groovy/com/Android/buildにあります/gradle/BasePlugin.Java#230
バージョンがないか、 'rc'、 'alpha'、または 'beta'を含むプラグインには、デフォルトの40日の「引退年齢」があります。
これは、gradleを最新バージョンにアップグレードするように指示するAndroidの方法です。 2つのことができます
出力はNonFinalPluginExpiry.Javaからのものです。
例2.4.0-alpha7
どちらも必要です:
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の例APP(ソース+ JAR):
https://github.com/c3ph3us/ado
https://github.com/c3ph3us/ado/releases
envをエクスポートしてアイデアやスタジオを起動するbash関数の例:
// eval export & start idea :)
function sti() {
export `Java -jar AndroidDailyOverride.jar p`
idea.sh
}
それがあった私の場合は安定版のために行くか、アプリレベルの合格ファイルに合格する
クラスパス 'com.Android.tools.build:gradle:2.2.0-alpha3'
私はそれを変えました
クラスパス 'com.Android.tools.build:gradle:2.1.2'
ここ数カ月間、私は「プレビュー」バージョンのAndroid Studioを使いました。私はソフトウェアアップデートのために "安定した"リリースに切り替えようとしましたが、それは十分ではなかったし、私はあなたが話すこの有名なエラーを得ました。
私のAndroid Studio 2.2.previewをアンインストールし、最新のstableAndroid Studio(2.1)をインストールすると解決しました:)
環境変数Android_DAILY_OVERRIDEを同じ値に設定する例 - b9471da4f76e0d1a88d41a072922b1e0c257745c
これは私のために働きます。