无法更新 Android Studio - 访问被拒绝和 java.io.FileNotFoundException

2024-06-28

我正在尝试在两台独立的 Windows 计算机上将 Android Studio 从 0.5.1 更新到 0.5.2,一台运行 Windows 7 Pro 64 位,另一台运行 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 特定于新版本的某种错误,所以我打开了问题 67794 https://code.google.com/p/android/issues/detail?id=67794在 AOSP 问题跟踪器上。

EDIT

我今天能够在两台机器上从 0.5.2 更新到 0.5.3,而没有遇到此问题。与之前的成功更新一样,我看到了 JetBrains 安装程序的 Windows 安全提示,并且更新成功完成,而无需使用提升的权限启动 Android Studio。所以,问题似乎是 0.5.1 或 0.5.2 补丁特有的问题。

EDIT

我在尝试从 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) 在 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 后),似乎会发生这种情况。


解决方法:

  1. 关闭 Android Studio。
  2. 右键单击“Android Studio”图标并选择“以管理员身份运行”。
  3. 转到“Help->Check for Update...”,然后执行正常的更新过程

在从 0.5.1 到 0.5.2 进行几次失败的更新尝试后,我意识到我不再收到允许 JetBrains IntelllJ 安装程序继续进行的 Windows 安全提示,正如我在之前的成功更新中看到的那样。我不确定以前的更新发生了什么变化,但显然更新过程在尝试访问没有适当权限的文件时失败了。通过上述过程将 Android Studio 提升为管理员解决了该问题。

如上面问题所述,从 0.5.2 更新到 0.5.3 后似乎不再出现此问题。

EDIT

为了修复我在 Android 0.6.0 到 Android 0.6.1 更新中遇到的下一个错误,我关闭了 Studio,然后重新启动它,并让它静置过夜(更多的是巧合,而不是设计)。当我早上回到机器并运行更新时,它成功了。因此,似乎有某种长时间运行的进程会在某些条件下阻止更新(可能是在启动后立即 - 可能是 Gradle 构建过程?)。 @Daniel Wilson 下面的答案也应该适用于这种情况。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法更新 Android Studio - 访问被拒绝和 java.io.FileNotFoundException 的相关文章

  • Android 如何在多个动画上添加一些延迟?

    我想要的是下面的代码中的每个动画都以延迟开始 就像一个序列一样 所以我有这个代码 public void setAnimation View view String animation prefs getString animations
  • 在 onDestroy() 中使用 system.exit(0) (Android)

    我知道不建议在 Android 应用程序中使用 system exit 0 但我想知道在 onDestroy 中使用它是否可以 因为此时允许杀死应用程序 我问的原因与this https stackoverflow com question
  • PhoneStateListener 中的拨出呼叫检测

    我想检测 Android 应用程序中的拨出电话 实际上我可以检测拨出电话 但它也适用于拨入电话 但我不希望这样 我需要它仅用于传出 这是我的代码 boolean ringing false boolean offhook false pub
  • Clang PCH 性能比标头差?

    我在源文件中包含一组标头 这些标头很少 从未更改 解析 重新解析使用标头的频繁更改的源文件 IDE 用例 需要太长时间 几秒钟 作为提高性能的一种方式 我想使用 Clang PCH 请注意 我正在 Android 上以发布模式 99 确定
  • 将 timeout() 与 retryWhen() 结合起来

    我正在创建一个简单的应用程序 用于使用 RxAndroidBle 库连接蓝牙设备 干杯 大家干得好 我遇到的情况是 有时当我连接到设备时 我会收到状态为 133 的 Gatt 错误 我知道这可能会发生 所以我想做的就是在发生错误时重试所有操
  • 如何在android项目中使用Roboto字体[重复]

    这个问题在这里已经有答案了 我开发了一个android项目 在此项目中 文本字体默认为 android sans 现在我想将整个项目的默认文本字体替换为 roboto 字体 我怎样才能做到这一点 您可以从这里下载 Roboto 字体 htt
  • Oreo 8.0 -“sendTextMessage()”未将消息保存到已发送文件夹

    我尝试使用 sendTextMessage 或 sendMultipartTextMessage 从我自己的应用程序发送短信 对于高于 API 19 KitKat 的手机 此消息将保存到已发送文件夹中 然而 在我的 Android 8 0
  • Android 一加 6(Android 派版) 启动完成 广播接收器不工作

    Android 一加 6 Android 派版 启动完成 广播接收器不工作
  • 反应调试模式和正常模式之间的本机不同行为

    嗨 我有一个非常复杂的问题 所以我在 github 上为这个问题创建了一个新的存储库 所以你可以克隆它并看看问题是什么 https github com guitar9 hafas client example https github c
  • 以编程方式切换进度条的颜色

    所以我有一个图层列表 其中包含一个具有形状和纯色的项目 现在我想在我的代码中更改这种颜色
  • 如何从一个活动组中的活动导航到android中的另一个活动

    我有两个标签 在这两个选项卡中我有不同的活动组 如何从一个活动组中的一个活动导航到android中的另一个活动 请帮我举出合适的例子 就我而言 我确实喜欢这样 当我单击父组最后一个活动中的完成 提交按钮时 我提交了值 将值存储到服务器 数据
  • 在android中绘制单点触摸运动路径

    我正在尝试制作一个绘图应用程序 我想要绘制单点触摸运动路径在 android 中 就像 Swype 键盘的方式一样 因此我想存储每个像素的 x y 坐标将运动路径转化为数据结构 我如何使用 MotionEvent 指针来执行此操作 您可能不
  • 如果没有连接 USB 电缆,ADB over TCP/IP 无法工作

    我可以使用 USB 电缆通过 ADB 连接到我的智能手机 我还可以通过 tcp ip 连接到同一智能手机 adb connect 192 168 1 110 同时 USB 电缆仍处于连接状态 但是 一旦我断开电缆 我就会松开 tcp ip
  • 如何获取已发送短信的送达报告?

    In my Application我正在使用发送短信SMS Manager 要检查消息是否已发送 我正在使用Toast 代替Toast我想要得到SMS Delivery Report我正在尝试很多例子 但是 一个流程不显示递送报告 例如当我
  • Android 三星 S I9000 屏幕尺寸和密度问题

    我在 Samsung S I9000 上使用应用程序时遇到问题 我的应用程序上的按钮比应有的大得多 此外 系统选择 res values small 作为值的来源 总而言之 它的表现就好像该设备有一个非常小的屏幕 尽管它应该是 800x48
  • 将 compose 示例项目导入到 android studio 版本 4.2

    我正在尝试导入编写示例项目 https github com android compose samples 但我面临这个错误 Invalid injected android support version 202 7660 26 42
  • 从 Android 上的 .net Web 服务获取列表

    我有 net Web 服务 我想在 android 上使用它 这个网络服务的方法返回List Of String 但我在android上没有得到响应 我能做些什么 这是代码 我已经研究了 3 天 但还没有找到任何解决方案 简而言之 我需要来
  • android - 自动检测未使用的绘图

    问题是 我在开发 Android 应用程序时使用了许多图标和图片 后来我替换了其中的许多图标和图片 但保留了旧的 以防我需要再次使用它们 我现在有大量我的 png 的drawable文件夹中 许多现在都未使用 手动整理它们需要很长时间 有没
  • 使用数据绑定后查看边距不起作用

    下面是gridview的item布局的代码 在此 layout margin 位于设计面板中 但当我运行时没有边距 我尝试检查其他标签 例如背景 发现它有效 类似的问题是线性布局的布局权重 它们也不起作用 这些在没有数据绑定的情况下工作得很
  • 更新 Android Studio 后 Android 模拟器无法运行

    我通常使用 Android Studio 从 2 2 3 更新到 2 3 后 我的模拟器不再工作 这也很困难 因为 Google 决定弃用独立 SDK 管理器 我发现我可以检查 选择 显示包详细信息 但我仍然无法让我的 Google And

随机推荐