Gradle发出错误"无法创建'AppPlugin'类型的插件'"

aBa*_*o80 77 android gradle

我正在尝试使用gradle创建一个简单的android项目.我在Debian GNU/Linux 7'wheezy'的计算机上工作.

我按照Gradle插件用户指南 - Android工具项目网站中的建议进行了操作,但是它会抛出错误:

FAILURE: Build failed with an exception.

* Where:
Build file '/home/alex/Proyectos/MyLogin/build.gradle' line: 11

* What went wrong:
A problem occurred evaluating root project 'MyLogin'.
> Could not create plugin of type 'AppPlugin'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 4.817 secs
Run Code Online (Sandbox Code Playgroud)

我遵循了规范:

  • Gradle 1.9
  • 插件0.7
  • SDK 17+(实际上是19)

我也重新启动了一个项目,我展示的结果是由gradle tasks文档中显示的命令发出的.

我也试过gradle 1.10,但结果是一样的.

即使这个问题也没用,因为它通过'升级'解决了gradle 1.6(我知道插件0.7至少需要gradle 1.9).

我在android-studioIntelliJ Idea中遇到同样的错误后尝试了这个.

编辑:我也试过在两个IDE中的新项目,并得到相同的问题.但令我惊讶的是,两个IDE都以包装形式使用gradle 1.8.我试图将它们都用于我的本地gradle安装,但仍然是同样的问题.

我究竟做错了什么?这是一个错误吗?我该如何避免这个问题?

请帮我.

编辑:这是我的build.gradle

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.7.+'
    }
}

apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 14
    buildToolsVersion '19.0.1'

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 19
    }
}

sourceCompatibility = 1.6

version = '0.1'

dependencies {
    compile 'com.android.support:support-v4:18.0.0'
    //compile project(':core')
}
Run Code Online (Sandbox Code Playgroud)

SK9*_*SK9 27

Google在Gradle插件版本0.7.2中犯了一个错误:

注意:0.7.2需要Java7.这是个错误.请改用0.7.3.

版本0.7.3重新启用了Java6支持.在我的构建文件中声明Gradle 0.7.3确实为我解决了这个问题.

没有人是完美的 :)

http://tools.android.com/tech-docs/new-build-system

  • 谢谢.我猜它是在0.7.3版本的基础上修复的.我把它配置为"0.7.+". (3认同)

JJD*_*JJD 19

我使用Gradle插件0.8.0使用Gradle 1.10.

// /build.gradle
// Top-level build file where you can add configuration 
// options common to all sub-projects/modules.
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.8.+'
    }
}
Run Code Online (Sandbox Code Playgroud)

...

# /gradle/wrapper/gradle-wrapper.properties.
#Sat Feb 01 20:41:29 CET 2014
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-bin.zip
Run Code Online (Sandbox Code Playgroud)

  • 放弃gradle不是更好:0.8.+而不是gradle:0.8.0?这样你知道你正在使用最新的gradle插件. (3认同)
  • @IgorGanapolsy不一定是最好的.例如,如果当时你已经完成了gradle:0.7.+你可能会遇到现在众所周知的问题.最新的并不总是最好的. (2认同)

Jon*_*Jon 7

如果您使用命令行来创建项目,如下所示:

android create project -g -v 1.2.2 --target 1 --name rtest --path rtest --activity MainActivity --package com.mydomain.rtest
Run Code Online (Sandbox Code Playgroud)

创建该项目是为了使用android-gradle-plugin的1.2.2版本,但该项目是使用gradle 1.12初始化的,这是不兼容的.

要解决此问题,请执行以下操作:

  1. 打开rtest/gradle/wrapper/gradle-wrapper.properties并设置distributionUrl为您想要的版本; 例如:( http\://services.gradle.org/distributions/gradle-2.2.1-all.zip别忘了逃避冒号 - 是的,这也让我微笑);
  2. 打开build.gradlerunProguard false改为minifyEnabled false;
  3. ./gradlew clean && ./gradlew assembleDebug
  4. 我也删除了隐藏.gradle文件夹,但我不确定是否有必要

这一切都有效.