Не удается обновить Android Studio – Access Denied и java.io.FileNotFoundException

Я пытаюсь обновить Android Studio от 0.5.1 до 0.5.2 на двух отдельных машинах Windows, один с 64-разрядным Windows 7 Pro и один с Windows 7 Enterprise 64-бит.

Я получаю сообщение о нормальном обновлении:

Введите описание изображения здесь

… и если я выберу «Обновление и перезагрузка», загрузится исправление и выйдет IDE, но затем я получу следующий диалог:

Введите описание изображения здесь

Я не могу изменить любые записи столбца «Решение». Если я нажму «Продолжить», я получаю следующее сообщение, как показано ниже (изображение и текст, поэтому его копирование / вставка / поиск):

Введите описание изображения здесь

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) 

Когда я нажимаю «Выход», Android Studio снова открывается и сообщает мне, что обновление по-прежнему доступно.

Я обновил Android Studio ранее, используя этот же метод на обеих машинах без проблем.

Поскольку я считаю, что это какая-то ошибка с Android Studio, относящаяся к более новым версиям , я открыл Issue 67794 в журнале отслеживания проблем AOSP.

РЕДАКТИРОВАТЬ

Я смог обновить с 0.5.2 до 0.5.3 сегодня на обеих машинах, не сталкиваясь с этой проблемой. Мне было показано приглашение безопасности Windows для установщика JetBrains, как в предыдущих успешных обновлениях, и обновление завершено успешно, без необходимости запуска Android Studio с повышенными разрешениями. Таким образом, кажется, проблема была чем-то специфичным для патчей 0.5.1 или 0.5.2.

РЕДАКТИРОВАТЬ

Я столкнулся с аналогичной ошибкой при попытке обновления с Android Studio 0.6.0 до 0.6.1:

Температура Каталог: C: \ Users \ barbeau \ AppData \ Local \ Temp \

+ —————- Не удалось выполнить операцию с файлом. Это может быть связано с тем, что файл заблокирован другим приложением. Попробуйте закрыть любое приложение, которое использует обновляемые файлы, затем нажмите «Повторить». + —————-

Com.intellij.updater.RetryException: невозможно удалить файл C: \ Program Files (x86) \ Android \ android-studio1 \ lib \ openapi.jar в com.intellij.updater.BaseUpdateAction.replaceUpdated (BaseUpdateAction.java:40) at com .intellij.updater.UpdateZipAction.doApply (UpdateZipAction.java:199) в com.intellij.updater.PatchAction.apply (PatchAction.java:140) в com.intellij.updater.Patch $ 3.forEach (Patch.java:198) На com.intellij.updater.Patch.forEach (Patch.java:248) на com.intellij.updater.Patch.apply (Patch.java:194) на com.intellij.updater.PatchFileCreator.apply (PatchFileCreator.java:86 ) На com.intellij.updater.PatchFileCreator.apply (PatchFileCreator.java:77) на com.intellij.updater.Runner.doInstallImpl (Runner.java.307) на com.intellij.updater.Runner.doInstall (Runner.java: 268) на com.intellij.updater.Runner.access $ 000 (Runner.java:18) на com.intellij.updater.Runner $ 2.execute (Runner.java:258) на com.intellij.updater.SwingUpdaterUI $ 7.run ( SwingUpdaterUI.java:230) в java.lang.Thread.run (Thread.java:745)

Это происходит, если вы попытаетесь запустить обновление, пока процесс сборки Gradle все еще работает (например, сразу после запуска Android Studio).

Solutions Collecting From Web of "Не удается обновить Android Studio – Access Denied и java.io.FileNotFoundException"

Обходной путь:

  1. Закройте Android Studio.
  2. Щелкните правой кнопкой мыши значок «Android Studio» и выберите «Запуск от имени администратора».
  3. Перейдите в «Справка-> Проверить обновление …» и пройдите обычный процесс обновления

Я понял, что после нескольких неудачных попыток обновления с 0.5.1 до 0.5.2 я больше не получал приглашение безопасности Windows, чтобы запустить установщик JetBrains IntellJ, как я видел в предыдущих успешных обновлениях. Я не уверен, что изменилось с предыдущих обновлений, но, видимо, процесс обновления безуспешно пытался получить доступ к файлам без надлежащих разрешений. Устранение проблемы с установкой Android Studio для администрирования с помощью вышеуказанного процесса.

Как отмечено выше, этот вопрос больше не возникает при обновлении с 0.5.2 до 0.5.3.

РЕДАКТИРОВАТЬ

Чтобы исправить следующую ошибку, с которой я столкнулся с обновлением Android 0.6.0 до Android 0.6.1, я закрыл Studio, а затем перезапустил ее и давал ей сидеть на ночь (больше по совпадению, чем дизайн). Когда я вернулся к машине утром и запустил обновление, это сработало. Таким образом, кажется, что существует какой-то долговременный процесс, который блокирует обновление при определенных условиях (вероятно, сразу после запуска – возможно, процесс сборки Gradle?). Ответ Даниила Уилсона ниже также должен работать для этого сценария.

Это произошло со мной, начиная с 0.6.0 до 0.6.1. Я попытался открыть AS в режиме администратора, когда все остальные приложения закрыты, но обновление все еще не удалось для меня. Я также попытался удалить папку Temp.

В конце концов я заметил в диспетчере задач, когда все было закрыто. По какой-то причине у меня по-прежнему оставался значительный java.exe, который по-прежнему работает в фоновом режиме.

То, что я сделал, было открытым AS в режиме администратора, запустить обновление и дать ему потерпеть неудачу, заявив, что файл заблокирован / доступ запрещен или что-то подобное. Откройте диспетчер задач, и я заметил 2 запущенных процесса java.exe. Для меня меньшая (около 200 тыс.) Была самой утилитой AS updater. Но если я убил более крупный (около 600 тыс.) И повторю попытку, обновление прошло без проблем.

Не переустанавливайте в качестве администратора!

Хотя работа в режиме администратора может заставить обновление работать, оно также может влиять на разрешения, установленные для любых добавленных и / или обновленных файлов, так что будущие операции в студии Android, использующие такие файлы, потребуют повышенного доступа (Admin) к работать должным образом.

Это приведет к тому, что многие операции не будут работать, если Android Studio не будет запущена в режиме повышенной скорости.

Вместо этого обработайте блокировку файлов, затем повторите попытку:

Попробуйте убить все экземпляры java.exe (в диспетчере задач или в проводнике процессов), а затем повторите попытку обновления, но не выполняйте роль администратора.

Каждый раз, когда я использовал Process Explorer (в Windows), чтобы проверить, какое приложение имеет блокировку на одном из файлов, заблокированных обновлением Android Studio, всегда была Java.

Что сработало для меня (в Windows):

  1. Загрузите Process Explorer и уничтожьте все экземпляры java.exe: в проводнике процессов, сортируйте по столбцу «Процесс» и найдите экземпляры java.exe, нажмите « Del» в выделенной строке. (С другой стороны, файл, блокирующий обновление, например jsch.agentproxy.usocket-nc.jar , можно проверить, нажав Ctl + F , а затем введите имя файла)
  2. Если процесс обновления не возобновляется автоматически, убейте его, перетащив значок цели Введите описание изображения здесь К окну процесса обновления – это находит его в окне Process Processor Process – и затем нажмите Del, чтобы удалить процесс
  3. Повторно запустите Android Studio (из меню «Пуск») и повторно запустите процесс обновления.

Вы также можете попытаться предоставить свое разрешение пользователю на эту папку.

  1. Щелкните правой кнопкой мыши папку «android-studio» и выберите «Свойства»,
  2. Перейдите на вкладку «Безопасность».
  3. Нажмите кнопку «Изменить»
  4. Выберите группу / пользователя из списка «Группы или имена пользователей»
    1. Вы можете выбрать / добавить свое имя пользователя в этот список -или-
    2. Выберите группу «Пользователи» (или группу, в которой находится ваш пользователь)
  5. Установите флажок «Полный контроль»
  6. Нажмите «Применить» и подождите

Все готово.

Отключите антивирус и повторите попытку обновления … Работал для меня.

Я столкнулся с одной и той же проблемой, но решил это, запустив этот скрипт в повышенной консоли: Program Files \ Android \ android-studio \ bin \ update_studio.bat

Я решил аналогичную проблему при обновлении Android Studio, просто закрыв все остальные запущенные приложения, такие как Firefox, и перезапустил процесс обновления.

Кажется, что файл – это просто другая программа, и к нему не может быть доступен Android Studio.

Другой способ решить эту проблему – удалить все файлы в соответствующей папке, например: User / AppData / Local / Temp

У меня была та же проблема – обновление с 0.6.0 до 0.6.1 После нажатия кнопки «Обновить», студия Android перезапустилась и начала обновляться. После этого я получил сообщение об ошибке. Я нажал кнопку «Повторить» – это было неудачно. Затем я подождал около 2 минут (в моей студии после начала работы Gradle) и снова нажал «Повторить» – Готово! 🙂 Все было обновлено. Так что в моем случае причиной проблемы был Gradle, который работает после запуска студии Android.

У меня была такая же проблема, начиная с 2.2 до 2.2.1. Мое решение заключалось в том, чтобы выйти из машины, а затем снова войти: Перезагрузка Windows

Я использовал LockHunter, чтобы узнать, что блокирует файлы. Результат: Adb заблокировал некоторые из них (я тестировал приложение Wi-Fi на мобильном телефоне). Я убил adb-сервер, перезапустил Android Studio, и я смог его обновить.

Удачи другим!