Error: Execution failed for task ':app:clean'. Unable to delete file
AndroidAndroid StudioAndroid Gradle-PluginKotlinKotlin Android-ExtensionsAndroid Problem Overview
I'm trying to rebuild my Android Studio Gradle project (containing mostly Kotlin code), but it started to throw an UnableToDeleteFileException
during the cleaning/rebuilding process:
Execution failed for task ':app:clean'.
> Unable to delete file: C:\Users\User\KotlinGameEngine\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\23.0.1\jars\classes.jar
This started happening after I tried to change my project's package structure. Unfortunately, I did it by renaming and moving the source folders rather than refactoring through Android Studio, which was a bad idea.
I've been searching for a solution to this problem all day, and these are the things I have tried to no avail:
- Doing a Gradle sync;
- Reinstalling Java JRE and Java SDK;
- Reinstalling the latest version of Android Studio (1.4);
- Rolling back to the previous AS version (1.3);
- Invalidating the AS cache and restarting;
- Deleting the
gradle
and.gradle
directories in the project directory; - Deleting the
.gradle
directory in my user directory; - Running
gradlew clean
from the AS terminal; - Manually copying the sources over to a new project (weird that it somehow persists across projects...)
Things that I've tried with a little success, but only let me perform one more clean and rebuild before the error occurs again:
- Closing AS, manually deleting the build files, and opening it again;
- Killing the
java.exe
process while AS is running (this could technically be done every time, but it's tedious and slows down the build process)
So it seems that compile the Java process may put a lock on the build files for some reason, but it might also be something to do with Kotlin. I have a (more mature) Java Android project that I'm working on, though I can't reproduce this error when cleaning it. It seems to only happen to my Kotlin project.
Update:
I've found that the problem is being caused by the Kotlin Android plugin. The problem disappears when I remove apply plugin: 'kotlin-android'
from the module's build.gradle
file and comes back when I reinsert it. Feel free to offer any insight into this.
Update 2:
The last update isn't the cause. I found that if a project contains a Kotlin file then rebuilding and cleaning fails. It continues to fail, even if all the Kotlin files are removed, until the background Java process is killed, meaning it has some kind of lock on the build files. I submitted a bug here with more details and steps to reproduce the bug: [KT-9440][1]
[1]: https://youtrack.jetbrains.com/issue/KT-9440 "KT-9440"
Android Solutions
Solution 1 - Android
I killed all the java TM processes in the task manager and it let me to rebuild
Solution 2 - Android
If you are using Android Studio 2.0 Beta, this issue might appear (more likely if you are working on NTFS filesystem) and it seems like the "Instant Run" is the culprit. Search for "Instant Run" in settings and uncheck the box.
I have filed an issue on the bug tracker.
Solution 3 - Android
Try File -> Invalidate Caches and Restart
This worked for me
Solution 4 - Android
After I posted a bug report to the Kotlin bug tracker, I was notified of Issue 61300 on the AOSP tracker. That seems to be the cause. Since there's nothing I can do at the moment, I'll mark this question as answered, and I'll update the answer if the bug is fixed.
In the meantime, if you're running Windows, I believe I've found a workaround. You'll need to download LockHunter (at your own risk of course), then add the following to your module's gradle.build
file, replacing the lockhunter
variable with your path to LockHunter.exe:
task clean(type: Exec) {
ext.lockhunter = '\"C:\\LockHunter.exe\"'
def buildDir = file(new File("build"))
commandLine 'cmd', "$lockhunter", '/delete', '/silent', buildDir
}
This causes LockHunter to forcefully and silently unlock and delete the build files when the app:clean task runs.
Solution 5 - Android
Solution 6 - Android
I solved with command:
taskkill /F /IM java.exe
and then:
gradle assembleDebug
Solution 7 - Android
Deleting the directory intermediates
is a quick fix for problem.
The directory will be rebuilt when the project is rebuilt.
Solution 8 - Android
I was facing same issue on Android Studio 2.2 preview 1, solution by @AndresSuarez was correct but for some reasons I couldn't find JAVA TM process in my task manager. So I tried the following solution and it worked -
Open command prompt and type TASKKILL /F /IM java.exe
. This will kill all JAVA TM processes automatically. Now re-compile the app again, it will work.
Additionally, you can create a .bat file, add the above code in it and run it every time you face the issue.
Solution 9 - Android
I had this problem in Android Studio 2.3.
I simply restarted Android Studio and after that I could clean without complaints.
Solution 10 - Android
I had the same problem and this worked for me:
- close Android Studio.
- delete intermediates directory (as long as Android Studio is opened, this directory can't be deleted)
- open Android Studio again
Solution 11 - Android
For me, this happened because of an active debugging process. So, before cleaning or rebuilding, make sure to kill all active processes. To nail down the success, execute Invalidate Caches/Restart.
Solution 12 - Android
I solved this one in my ubuntu like this.
- Check for the processes running in your system(Ubuntu) like in task manager in windows.
Ubuntu terminal command to list out all processes running ----> "gnome-system-monitor"
- Terminate or end the JAVA and ANDROID processes in the list.
- Again start the studio and import project.
Its works for me without any problems. Hope this helps...
I thought this is the problem with the process that are already created and Duplicated.
Solution 13 - Android
The solution is quite easy.
This is one of the solution which worked for me.
> It might be possible that your project's app/build/outputs/apk > folder is opened.
so just close this folder and rebuild your project. and it will be solved.
Solution 14 - Android
For me it helps when I Exit Android Studio
, click one more time Clean Project
(it appears the same error) and next click Make Project
- after that of course Run 'app'
button in Android Studio.
Solution 15 - Android
Some times intermediates creates problem so delete it and Rebuild project
OR
simply run cmd command - > gradlew clean
in your project folder in work space (its work for me)
Solution 16 - Android
Find programs who used app/build/outputs/apk folder, then just delete folder.
I think Android Studio have to delete old apk folder before rebuilding.
Solution 17 - Android
For me, the culprit is adb holding onto the apk file since I utilise it to install and start the application on my physical device through command line.
So simply:
> Task Manager > End process adb.exe
And then the file is free to be deleted and the project may be cleaned
Solution 18 - Android
As suggested in the bug report, uncommenting the line
idea.jars.nocopy=false
in the idea.properties
file has solved the issue for me.
Note that this needs to be done every time Android Studio updates.
Solution 19 - Android
In Android Studio 3.0, I had the same issue. This fixed it:
- Close Studio
- Delete projectRoot/build/ and projectRoot/app/build/
- Restart Studio
Solution 20 - Android
react native devs
run
sudo cd android && ./gradlew clean
and if you want release apk
sudo cd android && ./gradlew assembleRelease
Hope it will help someone
Solution 21 - Android
i simply run cmd command - > gradlew clean , And it fix the issue
Solution 22 - Android
For my case, I resolve it by -
- First, close the app if it is running in the emulator.
- Then run the command
gradle --stop
in the Terminal in Android studio. - Then clean project and rebuild project
Solution 23 - Android
If you are testing with a local backend (java servlet on local google app engine) the running process blocks some files. So you are not able to live deploy. So in this case you can solve this by stopping the local backend before starting clean or build. You find the option under "Run -> Stop backend".
Solution 24 - Android
I solved it by global searching the missing directory in the project. then delete any files containing that keyword. it can clean successfully after I remove all the build
and .externalNativeBuild
directories manually.
Solution 25 - Android
I had the same issue after moving my project from D: to G: drive but disk checking solved my issue
I used chkdsk /f /r /x G: ** here some command line switches were used:**
/F Fixes errors on the disk
/R Locates bad sectors and recovers readable information (implies /F)
/X Forces the volume to dismount first if necessary (implies /F) (important)
Note: /X is important because it will dismount the drive and you can manually delete the build directory of your project,
now rebuild the project
Solution 26 - Android
I just solved this exact problem for myself.
The problem was that somebody else had created the file so even though I have admin rights on the computer I was unable to make changes to the file or files. You need to go into the properties of the file or folder and change the ownership or add ownership. This web page explains it well step by step what you need to do.
Once I did the above, I found the file in file explorer and manually extracted it. I don't think it's needed in the android studio project if it was trying to delete it anyway.
Solution 27 - Android
Another application that can be using the resources is apparently Android Studio's Kotlin REPL. I closed that, and then I could build again no problem.
Solution 28 - Android
I have tried to remove all the Java services but still it is failing while executing the gradlew clean build command from IntelliJ terminal. I even verified the other applications I have opened somewhere the same path which I am trying the delete. But could not find any of such. So, finally restarted the IntelliJ IDE and able to proceed build smoothly.
Solution 29 - Android
This issue appeared to me in android studio 2.0 stable channel and the solution was due to a problem happened while updating my android studio i solved this by installing a fresh android studio. after deleting all old files for the old installation. and to keep the very nice feature of Instant Run
Solution 30 - Android
if you're still having issues then update to the latest version of Android Studio(its 2.1 as of now), might be it was a bug with older version of Android Studio. Its resolved for me now.
Solution 31 - Android
Cleaning the project in Android studio and running again fixed the issue. May be do "Make Project" as well.
Solution 32 - Android
I had the same problem and I solved it by moving project folder into ext4 partition
Solution 33 - Android
I had the same error, tried multiple ways but the solution worked for me was to delete build folders from /android and /android/app directories.
run react-native run-android
worked for me.
Solution 34 - Android
I am using Android Studio 3.0 Beta 7. Clean Project, Invalidate caches, restart studio did not work but Updating Kotlin version to 1.1.51 and restart studio solved this issue for me.
Solution 35 - Android
My Solution for this was very very simple ( if you are using Windows). 1- Close Android Studio. 2- Run Android Studio as Administrator. 3- That is it.
Solution 36 - Android
the thing that worked for me was to close visual studio code and open it again ... i guess the apk was folder was opened somewhere in code .... so just try it might work for you as well
Solution 37 - Android
In my case node.js
was using some resources in build folder (my app in reactnative
). So I killed node.js
and it solved.
Solution 38 - Android
simple solution :
in android or any jetbrains products when you click to you will find 'invalidate cache and restart ' click on it and all the problems will be solved
Solution 39 - Android
Though this has already been answered, I came from a non-android project and found this, but it could not solve my issue. If someone does see this error, delete the "build" folder manually through your file manager. For me, this repaired the code failing to compile in Kotlin.
Solution 40 - Android
try to remove these files manually
In my case I just removed all build
directories from project and subprojects
Solution 41 - Android
Here in 2022 I having the same unable to delete file
gradle error while trying to build my android project in react-native. When working on the project on a mac I wasn't getting any issues, but when I switch to Windows my build would fail. I've found cleaning the project often resolve build failures and I'm lazy so I had added npm scripts for cleaning my project for both windows and mac, which was part of my problem.
On macOS my clean script included watchman watch-del-all
and my Windows did not. Me being me, had totally forgot that I had installed the watchman beta and that somehow was why my project was unable to delete.
Long story short, if you are using react-native and you get this error watchman watch-del-all
may help, even on Windows
Solution 42 - Android
Follow these Steps From Build Option tab:
- Clean Project
- Rebuild Project
- Make Project