Reputation: 11756
I'm trying to update Android Studio from 0.5.1 to 0.5.2 on two separate Windows machines, one with Windows 7 Pro 64-bit and one with Windows 7 Enterprise 64-bit.
I get the normal update prompt:
...and if I choose "Update and Restart", the patch downloads and the IDE exits, but then I get the following dialog:
I can't change any of the "Solution" column entries. If I click "Proceed", I get the following message as shown below (image and text, so its copy/paste/search-friendly):
Temp. directory: C:\Users\Sean\AppData\Local\Temp\
java.io.FileNotFoundException: C:\Program Files (x86)\Android\android-studio\lib\jsch.agentproxy.usocket-nc.jar (Access is denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:221)
at java.io.FileOutputStream.<init>(FileOutputStream.java:171)
at com.intellij.updater.Utils.copyStreamToFile(Utils.java:135)
at com.intellij.updater.CreateAction.doApply(CreateAction.java:52)
at com.intellij.updater.PatchAction.apply(PatchAction.java:140)
at com.intellij.updater.Patch$3.forEach(Patch.java:198)
at com.intellij.updater.Patch.forEach(Patch.java:248)
at com.intellij.updater.Patch.apply(Patch.java:194)
at com.intellij.updater.PatchFileCreator.apply(PatchFileCreator.java:86)
at com.intellij.updater.PatchFileCreator.apply(PatchFileCreator.java:77)
at com.intellij.updater.Runner.doInstallImpl(Runner.java:307)
at com.intellij.updater.Runner.doInstall(Runner.java:268)
at com.intellij.updater.Runner.access$000(Runner.java:18)
at com.intellij.updater.Runner$2.execute(Runner.java:258)
at com.intellij.updater.SwingUpdaterUI$7.run(SwingUpdaterUI.java:230)
at java.lang.Thread.run(Thread.java:744)
When I click "Exit", Android Studio re-opens, and tells me that the update is still available.
I've updated Android Studio previously using this same method on both machines without a problem.
Since I believe this is some kind of bug with Android Studio specific to newer releases, I've opened Issue 67794 on the AOSP issue tracker.
EDIT
I was able to update from 0.5.2 to 0.5.3 today on both machines without encountering this issue. I was shown the Windows security prompt for the JetBrains installer as in previous successful updates, and update completed successfully without me having to start Android Studio with elevated permissions. So, seems the problem was something specific to 0.5.1 or 0.5.2 patches.
EDIT
I encountered a similar error when trying to update from Android Studio 0.6.0 to 0.6.1:
Temp. directory: C:\Users\barbeau\AppData\Local\Temp\
+---------------- A file operation failed. This might be due to a file being locked by another application. Please try closing any application that uses the files being updated then press 'Retry'. +----------------
com.intellij.updater.RetryException: Cannot delete file C:\Program Files (x86)\Android\android-studio1\lib\openapi.jar at com.intellij.updater.BaseUpdateAction.replaceUpdated(BaseUpdateAction.java:40) at com.intellij.updater.UpdateZipAction.doApply(UpdateZipAction.java:199) at com.intellij.updater.PatchAction.apply(PatchAction.java:140) at com.intellij.updater.Patch$3.forEach(Patch.java:198) at com.intellij.updater.Patch.forEach(Patch.java:248) at com.intellij.updater.Patch.apply(Patch.java:194) at com.intellij.updater.PatchFileCreator.apply(PatchFileCreator.java:86) at com.intellij.updater.PatchFileCreator.apply(PatchFileCreator.java:77) at com.intellij.updater.Runner.doInstallImpl(Runner.java:307) at com.intellij.updater.Runner.doInstall(Runner.java:268) at com.intellij.updater.Runner.access$000(Runner.java:18) at com.intellij.updater.Runner$2.execute(Runner.java:258) at com.intellij.updater.SwingUpdaterUI$7.run(SwingUpdaterUI.java:230) at java.lang.Thread.run(Thread.java:745)
This seems to happen if you try to run the update while the Gradle build process is still running (e.g., right after you start up Android Studio).
Upvotes: 24
Views: 30286
Reputation: 2833
Android Studio downloads the patch files in a path like this:
%userprofile%\AppData\Local\Google\AndroidStudio2023.1\tmp\patch-update
There is a .jar
file there. You can install it using:
java -jar "%userprofile%\AppData\Local\Google\AndroidStudio***\tmp\patch-update\AI-***-patch-win.jar" install "C:\Program Files\Android\Android Studio"
Note 1: You should provide your own IDE's path based on the version instead of AndroidStudio2023.1
in this example.
Note 2: If you are getting some errors that files are locked by JDK Platform
, try to kill the process
using TaskManager
and then run the update again.
Note 3: If you receive access denied
error while updating, try to run cmd
in administrator
mode and run the command.
Upvotes: 0
Reputation: 562
I had this same issue updating from 2.2 to 2.2.1. My solution was restarting Windows
Upvotes: 0
Reputation: 5165
I had a Java process running in the background on my Windows machine that wasn't showing up in my Task Manager. This will make sure Java gets killed:
taskkill /F /IM java.exe
Upvotes: 2
Reputation: 156
I used LockHunter to see what was locking the files. Result: Adb had locked some of them (I was testing the application by wifi in a mobile phone). I killed adb server, restart the Android Studio and I was able to update it.
Good luck for others!
Upvotes: 0
Reputation: 15685
Whilst running in Admin mode might make the update work, it may also affect the permissions that are set on any files that are added and/or updated, such that future operations in Android studio that use such files will need elevated (Admin) access to work properly.
Doing this will result in many operations not working unless Android Studio has been run in elevated mode.
Try killing all instances of java.exe (in Task Manager or Process Explorer), then re-attempt the update, but not running as Administrator.
Every time I've used Process Explorer (on Windows) to check which application has a lock on one of the files that's blocked an Android Studio update, it's always been Java.
What worked for me (on Windows):
jsch.agentproxy.usocket-nc.jar
, can be checked by pressing Ctl+F, and then entering the file name)Upvotes: 9
Reputation: 5106
You might also try to give your user permission to the folder.
You're done.
Upvotes: 4
Reputation: 11
I had the same problem - update from 0.6.0 to 0.6.1 After pressed button "Update", Android studio restarted and started to update. After this I got "Error message". I pressed "Retry" button - it was unsuccessful. Then I waited about 2 minutes (in my studio after start Gradle is working) and pressed again "Retry" - Done! :) Everything was updated. So in my case the reason of problem was Gradle that works after start of Android studio.
Upvotes: 0
Reputation: 11756
A workaround:
I realized after a few failed update attempts from 0.5.1 to 0.5.2 that I was no longer getting the Windows security prompt to allow the JetBrains IntellJ installer to proceed, as I had seen in previous successful updates. I'm not sure what changed from previous updates, but apparently the update process was unsuccessfully trying to access files without proper permissions. Elevating Android Studio to admin through the above process fixed the issue.
As noted in the question above, this issue no longer seems to occur with the update from 0.5.2 to 0.5.3.
EDIT
To fix the next error I encountered with the Android 0.6.0 to Android 0.6.1 update, I shut down Studio and then restarted it, and let it sit overnight (more by coincidence than design). When I returned to the machine in the morning and ran the update, it succeeded. So, it seems there is some kind of long running process that blocks the update under certain conditions (likely immediately after startup - possibly the Gradle build process?). @Daniel Wilson's answer below should also work for this scenario.
Upvotes: 29
Reputation: 19824
This happened with me updating from 0.6.0 to 0.6.1. I had attempted to open AS in admin mode with every other application closed but the update still failed for me. I also tried deleting the Temp folder.
Eventually I noticed in the task manager when everything was closed I still had a sizeable java.exe still running in the background for some reason.
What I did was open AS in admin mode, run the update and let it fail, claiming a file is locked / access is denied or something similar. Open the task manager and I noticed 2 java.exe processes running. For me the smaller one (about 200k) was the AS updater utility itself. But if I killed the larger one (about 600k), and hit retry, the update went through without issue.
Upvotes: 14
Reputation: 239
I solved a similar problem while updating Android Studio by just closing all other running applications, such as Firefox and restarted the update process.
It seems that a file is just by another program and it cannot be accessed by Android Studio.
Another way to solve this problem is to delete all files in the corresponding folder, such as: User/AppData/Local/Temp
Upvotes: 0
Reputation: 96
I've stuck at the same issue, but I solved it by running this script in elevated console: Program Files\Android\android-studio\bin\update_studio.bat
Upvotes: 0