插件太旧,请更新到更新版本,或将ANDROID_DAILY_OVERRIDE环境变量设置为

Mar*_*ato 175 android gradle android-studio android-gradle-plugin

今天我刚从Android SDK中导入了一个示例应用程序作为我项目中的模块(分析),当我尝试同步它时突然出现了这个gradle错误: Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE envrinment variable to...

这是我的app 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')
}
Run Code Online (Sandbox Code Playgroud)

你知道哪个可能是原因(我使用插件版本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()
    }
}
Run Code Online (Sandbox Code Playgroud)

Jar*_*ows 132

就像CommonsWare建议的那样,确保你有Gradle 2.2.1+(最新的是2.3).

确保升级Android Studio,但这里是需要更新的"插件":

顶部build.gradle:

更改:

classpath 'com.android.tools.build:gradle:1.1.0-rc1'
Run Code Online (Sandbox Code Playgroud)

至:

classpath 'com.android.tools.build:gradle:1.1.3' // latest 1.5.0
Run Code Online (Sandbox Code Playgroud)

应用build.gradle:

更改:

compile 'com.android.support:recyclerview-v7:21.0.0'
compile 'com.android.support:cardview-v7:21.0.0'
Run Code Online (Sandbox Code Playgroud)

至:

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
Run Code Online (Sandbox Code Playgroud)

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 .

  • 我不得不去http://ps:// jcenter.bintray.com/com/android/tools/build/gradle /`找出最新版本的gradle是什么.使用该URL中的最新可用版本更新我的顶级gradle文件解决了该问题.你的解决方案没有给我足够的信息来找到它! (17认同)

Ser*_*cas 46

解决方案(更新: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
}
Run Code Online (Sandbox Code Playgroud)

XXX-lastVersionGradle:例如:2.1.0

XXX-lastVersionGServices:例如:3.0.0(支持Firebase Analytics)

注意:如果您使用的是google-services插件必须是相同版本(如果有)

警告!!- > 2.2.0-alpha 如果不使用java JDK 8u91和NetBeans 8.1,则抛出不支持的major.minor版本52.0


vax*_*uis 31

作为旁注,我在完全不相关的情况下得到了同样的错误 - 在我的系统时钟年设置改变之后(即2015年 - > 2016年); 将时钟更改回正确的时钟解决了问题.

注1:我发布这个主要是因为我有完全相同的错误信息,但工作解决方案被证明不同于仅仅更新插件的版本(发布者Jared Burrows).

注2:使用

classpath 'com.android.tools.build:gradle:+'
Run Code Online (Sandbox Code Playgroud)

可以使插件版本默认为最新版本.请记住,您的构建可能会因API更改而中断(并且由于这个原因,Android API文档不鼓励这样做),因此只有在您不断更新版本时才使用此风险.

  • Intellij/Android Studio会警告你不要这样做,因为你应该知道你正在使用什么版本. (4认同)

Fel*_*rte 29

万一有人正在努力解决这个问题,在我的情况下,我正在使用Gradle 1.4 beta 1,我需要保留它.因此,为了使Android Studio工作转到终端并运行:

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

重新启动Android Studio,项目将再次构建.

感谢更新2:https://emmanuelbernard.com/blog/2012/05/09/setting-global-variables-intellij/


Igo*_*sky 15

您可以随时查看最新的gradle插件版本:https://bintray.com/android/android-tools/com.android.tools.build.gradle

所以截至今天你应该使用:

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

因此.


小智 9

用类似这样的模糊替换你的类路径.它是一个解决方案,它可以工作,但它可能不是一个好的解决方案.

classpath'com.android.tools.build:grad::'

最好的方法是用最新版本的gradle替换+


Din*_*nny 6

在这里查看最新版本的Gradle Plugin:

下载

您应该在应用程序设置的依赖项中更改此设置

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

}
Run Code Online (Sandbox Code Playgroud)

}