Android Studio - 无法应用插件[id'com.android.application']

时间:2016-05-07 09:28:16

标签: android android-gradle

我正在开发一款应用。在我的应用程序中,代码中没有错误,但是当我尝试运行我的项目时,会出现以下错误。

  

错误:(1,1)评估项目':app'时出现问题。

     

无法应用插件[id'com.android.application']

     

无法创建“AppPlugin”类型的插件。

我也尝试了Gradle is issuing an error "Could not create plugin of type 'AppPlugin'"

这也是Gradle errors in Android Studio

以下是我的 build.gradle 文件

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'

android {

    compileSdkVersion 23
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.praval.healthfreak"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'

    compile 'com.android.support:appcompat-v7:23.2.1'
    compile 'com.google.android.gms:play-services:8.3.0'
    compile 'de.hdodenhof:circleimageview:1.3.0'
    compile 'com.android.support:design:23.2.1'
    compile files('libs/YouTubeAndroidPlayerApi.jar')

}

24 个答案:

答案 0 :(得分:48)

更新于2019年5月17日

您需要更新到最新的gradle版本才能解决此问题。

请确保您使用的是最新的Android Studio 3.4或更高版本

然后通过更新此依赖项

来更新项目级别gradle.build
buildscript {
    repositories {
        jcenter() 
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.0'
    }
}

它可能会显示一个弹出窗口,询问您是否允许更新gradle,请更新,它会自动下载最新版本,问题将得到解决。

否则你可以

here获取最新的Gradle 5.4.1并手动添加

答案 1 :(得分:2)

2021 年 2 月 25 日:

对我来说,经过 8 多个小时的反复试验后,重新排序项目级 repositories 文件中的 build.gradle 源代码为我解决了这个问题。所以,而不是:

buildscript {
  ...
  repositories {
        google()
        mavenCentral()
        maven { url "https://plugins.gradle.org/m2/" }
  }
  ...
}

我将 google() 移到底部:

buildscript {
  ...
  repositories {
        mavenCentral()
        maven { url "https://plugins.gradle.org/m2/" }
        google()
  }
  ...
}

当然,一定要更新 gradle android 插件和匹配的 gradle-wrapper 发行版。

答案 2 :(得分:2)

我找到了最简单的答案。

只需转到 gradle.properties 文件并将 enableUnitTestBinaryResources 从 true 更改为 false

android.enableUnitTestBinaryResources=false

截图如下

enter image description here

答案 3 :(得分:1)

您只需要更改project.gradle文件即可。并同步你的Gradle。

dependencies {
 classpath 'com.android.tools.build:gradle:2.2.2'
}

答案 4 :(得分:1)

在Android Studio上打开项目并让它为您解决问题

它立即显示在左下角:

enter image description here

然后点击该链接,它将为您修复正确的文件。

这最终修复了Gradle版本,如https://stackoverflow.com/a/37091489/895245所述,但它还修复了更多错误,因此这是最简单的事情。

https://github.com/googlesamples/android-vulkan-tutorials/tree/7ba478ac2e0d9006c9e2e261446003a4449b8aa3/tutorial05_triangle,Android Studio 2.3,Ubuntu 14.04上进行了测试。

答案 5 :(得分:1)

删除gradle缓存文件。 它可以像 C:\Users\username\.gradle\caches 对于Windows用户。 对于像sys这样的Unix,它将是   ~\.gradle\caches

答案 6 :(得分:1)

我通过升级到project \ gradle \ wrapper \ gradle-wrapper.properties

中的gradle-5.6.4-all.zip来修复它
#Wed Mar 11 15:20:29 WAT 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip

答案 7 :(得分:1)

  1. 颤动干净
  2. flutter run --debug
  3. flutter build apk --release

调试将创建构建 gradle,构建 apk 将正常工作

答案 8 :(得分:0)

在我的项目中,有一个.gradle文件夹已缓存我正在使用的先前gradle版本(5.4.1),而gradle则使用 that 而不是我新下载的版本(5.6 .4)。

简单地:

  1. 关闭 Android Studio
  2. 从项目中
  3. 删除旧的gradle版本文件夹。
  4. 重新启动。一切都应该正常工作

如果这不起作用,您还可以尝试以下操作:

  • 删除项目.gradle文件夹中的所有版本,以便在重新打开IDE时仅由AS重新下载新版本。
  • 检查项目设置的gradle构建版本,并确保将其设置为最新版本。
  • 检查其他模块是否未使用gradle构建的旧版本。您可以使用项目搜索( Ctrl + Shift + F )搜索"distributionUrl"并确保所有模块都具有最新版本。
  • 删除根gradle文件夹下的.gradle/caches,通常是C://Users/{you}/.gradle
  • 在您的AS终端中尝试gradle build --stacktrace--info--scan--debug以获得帮助和更多信息以调试问题。

答案 9 :(得分:0)

试试这个简单快捷的解决方案。 使缓存无效解决了我的问题。 只需转到文件>使缓存无效/重新启动。

答案 10 :(得分:0)

首先将 gradle 更新到最新版本,如果问题仍然存在(在我的情况下确实如此),则执行以下操作- 转到 gradle.properties 文件并注释该行 android.enableUnitTestBinaryResources=true

点击立即同步。

它应该可以解决问题。

答案 11 :(得分:0)

以下错误的原因之一可能是与项目中有关 JDK 位置的 JVM 配置版本不兼容。

错误:

org.gradle.api.plugins.InvalidPluginException: An exception occurred applying plugin request [id: 'com.android.application']

Caused by: java.lang.NoSuchMethodException: java.lang.invoke.MethodHandles.privateLookupIn(java.lang.Class, java.lang.invoke.MethodHandles$Lookup)
Caused by: java.util.concurrent.ExecutionException: java.lang.NoSuchMethodException: java.lang.invoke.MethodHandles.privateLookupIn(java.lang.Class, java.lang.invoke.MethodHandles$Lookup)
Caused by: java.lang.NoSuchMethodException: java.lang.invoke.MethodHandles.privateLookupIn(java.lang.Class, java.lang.invoke.MethodHandles$Lookup)

解决方法:

注意:对于 compileOptions{}kotlinOptions{} 中的 JVM 版本

  • 对于 JVM 版本:JavaVersion.VERSION_1_8
  • 使用 JDK 位置:/java-1.8.0-openjdk-amd64

  • 对于 JVM 版本:JavaVersion.VERSION_11
  • 使用 JDK 位置:/java-1.11.0-openjdk-amd64

答案 12 :(得分:0)

从 7.0.0 以上的 Android Gradle 版本开始,从 gradle.properties 文件中删除 android.enableUnitTestBinaryResources

答案 13 :(得分:0)

就我而言,删除您的gradle文件,然后再次再次导入文件,它将起作用

答案 14 :(得分:0)

当我遇到此问题时,是因为我的目录包含非ASCII字符。尝试更改它

答案 15 :(得分:0)

每当您更新Gradle文件时,请不要忘记检查兼容的Gradle包装器distibutionUrl,因为您的情况是由于相同原因而发生的。

distributionUrl = https://services.gradle.org/distributions/gradle-5.6.4-all.zip

答案 16 :(得分:0)

我遇到了同样的问题,这就是我所做的,并且能够解决我的问题:

  • 我正在将ShimmerAndroidAPI(this库)与Android Studio 3.6.1一起使用。
  • 在使用Gradle和Android Studio中出现的弹出升级建议将Gradle和Android Studio升级到新版本之前,此方法效果很好。
  • 我按照this回答中所述执行了以下步骤,并且能够使项目正常进行。我遵循的步骤如下。
  • Gradle文件已从类路径'com.android.tools.build:gradle:3.6.1'更新为

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

  • 然后将gradle-wrapper.properties文件中的分发URL从distributionUrl = https://services.gradle.org/distributions/gradle-5.6.4-all.zip更新为

    distributionUrl = https://services.gradle.org/distributions/gradle-5.4.1-all.zip

  • 然后同步
  • Gradle。

答案 17 :(得分:0)

我的问题是我在项目文件夹路径中有捷克字符(č,ú,ů,á,ó)。

答案 18 :(得分:0)

删除C:\Users\username\caches文件夹。

答案 19 :(得分:0)

就我而言,如果您的构建工具版本位于根文件夹中的 build.gradle 文件中,例如:

  

classpath'com.android.tools.build:gradle:3.x.x'<---工具版本

项目中安装的Gradle不支持

,您可以检查构建工具/插件支持的版本here,并确保该版本的Gradle支持项目中安装的版本。

您不需要升级Gradle,您只需检查它是否支持项目中安装的插件。

答案 20 :(得分:0)

通过设置gradle版本3.2.1解决了该问题

buildscript {
dependencies {
    classpath 'com.android.tools.build:gradle:3.2.1'
}

在项目级别的Gradle中

答案 21 :(得分:-1)

首先,在尝试最复杂的事情之前,您应该使步骤更轻松,例如,在我的情况下,此错误一直发生,直到项目包含“空格”为止:

替换:

C://Users/Silva Neto/OneDrive/Work space/project

使用:

C://Users/SilvaNeto/OneDrive/Workspace/project

请注意,我们用camelCase替换了空格,但是您可以选择任何喜欢的命名方案,希望这可以解决您的问题。

我希望这会有所帮助。

答案 22 :(得分:-1)

将以下内容添加到 app/build.gradle 文件的顶部

apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'

答案 23 :(得分:-1)

以上解决方案都没有对我有用,但这对我有用 只需添加 gradle.properties 这一行 android.overridePathCheck=true 欲了解更多信息:https://www.programmersought.com/article/59853994468/