Android Studio - Failed to apply plugin [id 'com.android.application']

AndroidAndroid Gradle-Plugin

Android Problem Overview


I am working on an app. In my app there is no error in code but when I try to run my project it gives following errors.

> Error:(1, 1) A problem occurred evaluating project ':app'. > > Failed to apply plugin [id 'com.android.application'] > > Could not create plugin of type 'AppPlugin'.

I try this also https://stackoverflow.com/questions/20811514/gradle-is-issuing-an-error-could-not-create-plugin-of-type-appplugin

and this also https://stackoverflow.com/questions/16649668/gradle-errors-in-android-studio

Following is my build.gradle file

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')

}

Android Solutions


Solution 1 - Android

Updated June 24, 2020

You need to update to the latest gradle version to solve this issue.

Please make sure you are on the latest Android Studio

and then update your project level build.gradle by updating this dependency

buildscript {
    repositories {
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.0.0'
    }
}

It might show a popup asking your permission to update gradle, please update and it will download the latest distribution automatically and the issue will be resolved.

Or else you can

Get Latest Gradle 5.6.4 from here and Add it manually

If you don't want to download it manually:

Open YourProject > gradle > wrapper > gradle-wrapper.properties and replace

distributionUrl=https\://services.gradle.org/distributions/gradle-version-number-all.zip

With

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

Rebuild the project or just run gradle sync again.

Solution 2 - Android

I faced the same issue in Android Studio version 3.5.3. This is how i fixed it.

I updated the dependecy com.android.tools.build:gradle in my project level build.gradle file from a lower version to 3.5.3 as below.

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

I then went ahead and edited the value of distributionUrl in gradle-wrapper.properties file as below. This file is in the directory /gradle/wrapper/ from the root of your project folder.

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

Solution 3 - Android

I found the simplest answer to this.

Just go gradle.properties file and change the enableUnitTestBinaryResources from true to false

android.enableUnitTestBinaryResources=false

The snapshot is shown below

enter image description here

Solution 4 - Android

Delete gradle cache files. It can be in path like C:\Users\username\.gradle\caches for Windows users. For UNIX based operating systems it will be ~/.gradle/caches.

Solution 5 - Android

Feb 25th 2021:

For me, after over 8 hours of trials and errors, it was the re-ordering of the repositories sources in the project-level build.gradle file that solved the issue for me. So, instead of:

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

I moved google() to the bottom:

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

Of course, be sure to update the gradle android plugin and the matching gradle-wrapper distribution versions too.

Solution 6 - Android

Just go to the gradle.properties file and change enableUnitTestBinaryResources from true to false

android.enableUnitTestBinaryResources=false

Solution 7 - Android

i fixed it by upgrade to gradle-5.6.4-all.zip in project\gradle\wrapper\gradle-wrapper.properties

#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

Solution 8 - Android

Open the project on Android Studio and let it solve the problems for you

It immediately shows at the left bottom:

enter image description here

Then click that link, and it will fix the right files for you.

This ended up fixing the Gradle version as mentioned at: https://stackoverflow.com/a/37091489/895245 but it also fixed further errors, so it is the easiest thing to do.

Tested on https://github.com/googlesamples/android-vulkan-tutorials/tree/7ba478ac2e0d9006c9e2e261446003a4449b8aa3/tutorial05_triangle , Android Studio 2.3, Ubuntu 14.04.

Solution 9 - Android

Solved it by setting gradle version 3.2.1

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

In Project level Gradle

Solution 10 - Android

you just need to change your project.gradle file. And sync your Gradle.

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

Solution 11 - Android

When I had this problem was beacuse my directory had non ASCII characteres. Try changing it

Solution 12 - Android

First update the gradle to the latest version, if the issue still persists (in my case it did) then do the below- go to gradle.properties file and comment the line android.enableUnitTestBinaryResources=true

click on sync now.

it should solve the issue.

Solution 13 - Android

On Mac Just Goto :

Android Studio -> Preference -> Gradle -> Gradle JDK -> Download JDK -> Ok

Here is screen

Solution 14 - Android

As in Accepted post, the problem solved with updating gradle to 4.4.1.

  1. Get Latest Gradle 4.4.1 from here
  2. Extract and put it in "C:\Program Files\Android\Android Studio\gradle"
  3. Then from android studio go to "File -> Settings -> Build, Excecution, Deployment -> Gradle", from Project-level settings: Select Use local gradle Distribution and give the above
    address(folder with name "gradle-4.4.1" in "C:\Program Files\ ...")
  4. Then make project.

enter image description here

My Problem solved this way.

Solution 15 - Android

In my case, if your version of build tools in the build.gradle file in the root folder like : > classpath 'com.android.tools.build:gradle:3.x.x' <--- version of tools

is not supported by the Gradle installed in your project, you can check the build tools/plugin supported versions here, and make sure that the version installed in your project is supported by that version of Gradle.

You don't need to upgrade Gradle, you just check if it supports the plugin installed in your project or not.

Solution 16 - Android

delete C:\Users\username\.gradle\caches folder.

Solution 17 - Android

My problem was I had czech characters (č,ú,ů,á,ó) in the project folder path.

Solution 18 - Android

I had the same issue and this is what I did and I was able to solve my issue:

  • I'm working with ShimmerAndroidAPI ( this library ) with Android Studio 3.6.1.

  • This worked well before I upgrade the Gradle and Android Studio to a new version using pop up upgrade suggestions appeared in android studio.

  • I followed the below steps as mentioned in this answer and I was able to make the project work.The steps I followed are as below.

  • Gradle file was updated from classpath 'com.android.tools.build:gradle:3.6.1' to

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

  • Then distribution URL in gradle-wrapper.properties file was updated from distributionUrl=https://services.gradle.org/distributions/gradle-5.6.4-all.zip to

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

  • Gradle was then synched.

Solution 19 - Android

Whenever you update your Gradle files do not forget to check the compatible Gradle wrapper distibutionUrl, in your case it happened because of the same.

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

Solution 20 - Android

Inside my project there is a .gradle folder which had cached the previous gradle version I was using (5.4.1) and gradle kept using that instead of my newly downloaded one (5.6.4).

Simply:

  1. Close Android Studio
  2. Delete the older gradle version folders from your project.
  3. Restart Android Studio. Everything should be working correctly

In case this didn't work you can also try the following:

  • Delete all versions in project .gradle folder so only the new one is redownloaded by AS when reopening the IDE.
  • Check your project settings for gradle build version and make sure it is set to the latest one.
  • Check that other modules aren't using older versions of the gradle build. You can search for this using project search (Ctrl+Shift+F) for "distributionUrl" and making sure that all modules have the latest version.
  • Delete .gradle/caches under your root gradle folder, usually C://Users/{you}/.gradle
  • try gradle build --stacktrace, --info, --scan or --debug in your AS terminal to get help and more info to debug your problem.

Solution 21 - Android

In my case delete your gradle file and then again import your file again it will work

Solution 22 - Android

  1. flutter clean
  2. flutter run --debug
  3. flutter build apk --release

the debug will create the build gradle and building apk will work fine

Solution 23 - Android

As of Android Gradle version above 7.0.0, Remove android.enableUnitTestBinaryResources from gradle.properties file

Solution 24 - Android

One of the causes of the following error could be that exists an incompatibility with the configured version of the JVM in the project regarding the JDK location.

Error:

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)
Workaround:

Note: For JVM version in compileOptions{} and kotlinOptions{}

  • For JVM version: JavaVersion.VERSION_1_8
  • Use JDK Location: /java-1.8.0-openjdk-amd64

  • For JVM version: JavaVersion.VERSION_11
  • Use JDK Location: /java-1.11.0-openjdk-amd64

Solution 25 - Android

Try this simple and quick solution. Invalidating cache solved my problem. Just go to File>Invalidate Cache /Restart.

Solution 26 - Android

non of above solution not worked for me but this is worked for me just add in gradle.properties this line in android.overridePathCheck=true for more info : https://www.programmersought.com/article/59853994468/

Solution 27 - Android

[Error] https://i.stack.imgur.com/f4wtI.png

Hello, I am Dipak, I faced this issue because I have downloaded and built a project on my PC, and it is on old java version 1.8, so when project building it will ask me to change the java version, and I have accepted that.

Here is the Solution, As you see my project need a java 11 version to build Gradle so,

  1. GoTo File -> Settings
  2. Build,Execution and Deployment -> Build Tools -> Gradle
  3. Change java version, Apply and click Ok.
  4. Sync build.gradle and run the project.

[Solution] https://i.stack.imgur.com/BFVZL.png

Solution 28 - Android

I am facing same issue. But I am able to run app from Android Studio

  1. First, in a terminal/command-prompt, open Metro-Bundler, by running command: npm start from project folder (Ex: D:\AwesomeProject>npm start)
  2. Then in Android Studio, open ~/ProjectFolder/android (Ex: D:\AwesomeProject\android), and click Play icon (or press Shift+F10 for windows).

Note: This worked on Emulator only.

Solution 29 - Android

Android Gradle Plugin 7 requires Java 11. use short key Ctr+Alt+Shift+S or Go to File > Project Structure and change JDK location to Embedded JDK. enter image description here

Solution 30 - Android

First of all, before trying the most complicated things you should make the step easier, in my case this bug just happened on my way until the project contained 'spaces' for example:

Replace:

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

With:

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

Notice that we replaced spaces with camelCase but you can choose any naming scheme you like, and hopefully this could solve your issue.

I hope this will help.

Solution 31 - Android

Add the following to the top of your app/build.gradle file

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

Solution 32 - Android

In my case I'm using gradle version 7.0.3. It needed to add kotlin("android") in build.gradle.kts:

plugins {
    id("com.android.application")
    kotlin("android") //<---------- add this
   
}

Then you had to use JDK version 11 (download here) and add to android studio settings -> gradle and sync project

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionPraval SharmaView Question on Stackoverflow
Solution 1 - AndroidMaxView Answer on Stackoverflow
Solution 2 - AndroidNicodemus OjweeView Answer on Stackoverflow
Solution 3 - AndroidTonnieView Answer on Stackoverflow
Solution 4 - AndroidCui QingView Answer on Stackoverflow
Solution 5 - AndroidUgoView Answer on Stackoverflow
Solution 6 - AndroidBoluwatife MakuView Answer on Stackoverflow
Solution 7 - AndroidMohamed Ben RomdhaneView Answer on Stackoverflow
Solution 8 - AndroidCiro Santilli Путлер Капут 六四事View Answer on Stackoverflow
Solution 9 - AndroidAmine MessabhiaView Answer on Stackoverflow
Solution 10 - AndroidumiView Answer on Stackoverflow
Solution 11 - AndroidChrystian MeloView Answer on Stackoverflow
Solution 12 - Androidshreya zarkarView Answer on Stackoverflow
Solution 13 - AndroidAmeer HamzaView Answer on Stackoverflow
Solution 14 - AndroidMahdi MoqadasiView Answer on Stackoverflow
Solution 15 - AndroidMuhammad Al FarisView Answer on Stackoverflow
Solution 16 - AndroidReeonce ZengView Answer on Stackoverflow
Solution 17 - AndroidJan MálekView Answer on Stackoverflow
Solution 18 - AndroidSachzView Answer on Stackoverflow
Solution 19 - AndroidMinionView Answer on Stackoverflow
Solution 20 - AndroidPanos GrView Answer on Stackoverflow
Solution 21 - AndroidAqifView Answer on Stackoverflow
Solution 22 - AndroidAnanthu AshokanView Answer on Stackoverflow
Solution 23 - AndroidKarthick RamanathanView Answer on Stackoverflow
Solution 24 - AndroidBraian CoronelView Answer on Stackoverflow
Solution 25 - AndroidYazdan IlyasView Answer on Stackoverflow
Solution 26 - AndroidThe MJView Answer on Stackoverflow
Solution 27 - AndroidAgravat DipakView Answer on Stackoverflow
Solution 28 - AndroidSunny JhaView Answer on Stackoverflow
Solution 29 - Androidkksal55View Answer on Stackoverflow
Solution 30 - AndroidSilva NetoView Answer on Stackoverflow
Solution 31 - AndroidManoj GuptaView Answer on Stackoverflow
Solution 32 - AndroidErfan EghterafiView Answer on Stackoverflow