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


77

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

我遵循了Gradle插件用户指南-Android Tools Project网站中的建议,但会引发错误:

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

我遵循了规范:

  • 摇篮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')
}

您可以显示“ build.gradle”的样子吗?
akhikhl 2013年

抱歉,无法保存这些重要数据。这是build.gradle
aBarocio80

3
我尝试了这个“ build.gradle”-该错误出现在gradle 1.10下,并通过降级为1.9解决。
akhikhl 2014年

Answers:


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


3
谢谢。我猜它是在0.7.3版本中修复的。我已将其配置为“ 0.7。+”。
aBarocio80

很高兴为您解决。我已经停止使用表达式“ 0.7。+”,因为0.6、0.7.1和0.7.2导致了我的问题。我现在修复一个发行版-例如“ 0.7.3”。
SK9 2014年

1
h!谢谢,该死的我是个混蛋。
2014年

22

应该更仔细地阅读,我看到您已经尝试过1.9。
Vasile Jureschi

正是我想要的。这个答案应该是“被接受的”
弗拉基米尔(Vladimir)

好。它解决了这个问题。看来我在PATH环境变量中放错了版本。非常感谢。
aBarocio80 2014年

另外,为了将来参考,切换到较新版本的gradle也将/应解决此问题。
CasualT

19

我使用Gradle 1.10和Gradle插件0.8.0使其正常工作。

// /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.+'
    }
}

...

# /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

3
将gradle:0.8。+代替gradle:0.8.0会更好吗?这样,您就知道您正在使用最新的gradle插件。
IgorGanapolsky

2
@IgorGanapolsy不一定是最好的。例如,如果您当时完成了gradle:0.7。+,那么您很可能遇到了众所周知的重大问题。最新并不总是最好的。
SK9 2014年

7

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

android create project -g -v 1.2.2 --target 1 --name rtest --path rtest --activity MainActivity --package com.mydomain.rtest

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

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

  1. 打开rtest/gradle/wrapper/gradle-wrapper.properties并设置distributionUrl为所需的发行版;例如:(http\://services.gradle.org/distributions/gradle-2.2.1-all.zip别忘了逃脱结肠-是的,这也让我微笑);
  2. 打开build.gradle并更改runProguard falseminifyEnabled false;
  3. ./gradlew clean && ./gradlew assembleDebug
  4. 我也删除了隐藏的.gradle文件夹,但是我不确定是否有必要

一切都再次起作用。


谢谢!这是适用于我的最新工具集的解决方案。(截至2015
alvi

谢谢!Google真是无耻地从Idea那里喝了Kool-aid,他们的命令行工具处在令人遗憾的状态……
Rick77

1

如果您尝试使用以下方式将Gradle 1.9项目更新为Gradle 1.10

task wrapper(type: Wrapper) {
    gradleVersion = '1.10'
}

并命令./gradlew wrapper您将得到与上述相同的错误。

解决方案是不使用包装器将Gradle 1.10安装到您的计算机上并升级项目

gradle wrapper


有什么方法可以下载gradle wrapper 1.10并将其放入Android Studio?
IgorGanapolsky 2014年

您必须在文件资源管理器中执行此操作,并避免使用ASide
Blundell


1

对于使用2.1版Studio的用户,请将classpath'com.android.tools.build:gradle:2.1.0-rc1'替换为classpath'com.android.tools.build:gradle:2.1.0'。这解决了我的问题。


0

我今天在运行gradle assembleRelease时得到了这个。我已经安装了Ubuntu默认的gradle-1.4。这没有用,所以我尝试了最新的gradle-1.12并遇到了同样的问题。

下载并使用gradle-1.10(并使gradle-wrapper.properties文件与该版本匹配)解决了该问题。

这是Android Studio 0.5.8。


对-1有任何解释吗?当时我正在分享一个可行的解决方案。
Splaktar'2

0

转到依赖项,只需将依赖项的classpath更改为classpath'com.android.tools.build:gradle:2.0.0-beta6'Rest Gradle会注意。快乐的编码:)


0

好的,我想android studio可以用GUI来解决这个问题,

我有这样的错误... 在此处输入图片说明

更新插件后,我在构建时面临另一个问题,

在此处输入图片说明

因此将更gradle setting改为默认值,如图所示, 在此处输入图片说明

在此构建成功之后。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.