更新Android SDK:“文件夹无法移动。”
在尝试更新我的Android SDK时,在尝试安装此特定软件包时遇到此错误:
我该如何解决?
在我的Windows SDK上偶尔会发生这种情况(即使我没有运行任何防病毒或类似的程序,以pipe理员身份执行SDK-Manager等) 。
我只是在这种情况下手动更新工具。 这意味着在错误之后closuresSDK-Manager并打开ANDROID_SDK\temp
文件夹。 应该有一个名为tools_R16.zip
或类似的zip (不记得确切的名字) 。 解压。 你应该结束一个tools
文件夹。 将此文件夹中的所有文件复制到ANDROID_SDK\tools
。 当被问及时覆盖。 预先备份SDKs工具文件夹,以防万一爆炸。
之后,再次启动SDK-Manager。 工具版本应该更新。
问题似乎是Eclipse,甚至是SDKpipe理器本身,都locking了文件夹。 从工具文件夹中运行android.bat应该可以做到。
如果您从Android Studio启动了SDK Manager,那么您只需closuresAndroid Studio即可。
我推测SDK Manager是一个模式对话框,是Android Studio的一部分 – 不是一个单独的程序。
谢谢。 这是我如何解决它:
在这种情况下,我手动更新了这些工具。 这意味着在错误之后closuresSDK-manager并打开文件夹android-sdk-windows文件夹。 使用LockHunter,在android-sdk-windows \ tools \文件夹中解锁所有程序。 http://lockhunter.com/?ver=&vertype=pro&sm=main_window_64
事先将android-sdk-windows \ tools文件夹重命名为tools_DELETEME应该有一个名为android-sdk-windows \ temp \ tools_r19-windows.zip的zip文件。 打开它,你应该看到一个工具文件夹。 将该工具文件夹复制到android-sdk-windows \ tools
之后,再次启动SDKpipe理器。 工具版本应该更新。
您可能从eclipse启动了SDKpipe理器? 我遇到了同样的问题,并通过直接从directy工具打开SDKpipe理器来解决这个问题。
当你安装工具/软件使用SDKpipe理器。 但更新时不要使用它。 请右键单击 – >以pipe理员身份运行android-sdk-windows \ tools \ android.bat文件以更新工具。 总是尝试在Windows Vista / 7/8上以pipe理员身份运行命令。 这将解决大部分权限问题等。
我的解决scheme是从eclipse中启动它 – 以pipe理员身份。
以及我有相同的问题,在Windows 7 …问题是,在更新期间,它试图重命名工具文件夹(在SDK文件夹内),该文件夹被当前正在运行的进程“ADB”使用…
所以你不能顺利进行更新,直到你停止/杀死该进程…
BTW复制粘贴工具文件夹的新内容从临时工也将工作…
使用Windows 7时,出现“未能安装popup窗口”时,会杀死名为adb的进程(从任务pipe理器ctrl + alt + del),然后按“是”,正在安装东西。
确保您没有任何重要的文件或文件夹打开/被其他应用程序,包括资源pipe理器使用。
我试着运行android.bat并得到相同的错误。
什么工作对我来说是使用解锁器解锁\工具文件夹。
我以前读过,人们拿了平台工具文件夹的副本,并从不同的位置运行更新。 这可以确保您没有打开要更新的文件。
也可以禁用您的防病毒5分钟o0o0。
在Windows 7和可能的Vista上,以pipe理员身份运行Eclipse。
我的问题是Windows 7的安全性。 我打开了C:\Program Files\Android
上的安全性,使其具有完全访问权限,然后工作。 更新完成后,我删除了所有人。
我不得不复制工具文件夹本身(保持在同一目录树级别,因此“工具”和“工具复制”都在“android-sdk-windows”文件夹中)。 然后从该副本运行Android.bat。
更新后,只需删除tools-copy文件夹即可。
错误消息是Failed to rename directory C:\devtools\android-sdk\system-images\android-21\google_apis\x86 to C:\devtools\android-sdk\temp\SystemImagePackage.old01
。 我手工删除了C:\ devtools \ android-sdk \ temp \ SystemImagePackage.old01目录(这是一个剩余的?我不知道),并且能够继续。
同样的错误,我得到了更新sdk。 这是因为目标文件夹被locking(访问权限被拒绝)。 您可以在“Ubuntu”中按如下方式解决它:
按ALT + F2键,然后input'gksudo nautilus' ,然后导航到目标文件夹(如工具或额外),并给予创build和删除权限 。 然后更新,每件事情都会工作正常:)
先在同一个目录(android-sdk或android-sdk-windows)中制作一个工具文件夹的副本,然后删除原始工具文件夹,然后双击tools-copy文件夹打开android.bat文件启动sdk manager并安装工具。
如果工具文件夹没有被删除,然后使用解锁器LockHunter删除文件夹,然后打开android.bat更新工具。
成功安装工具后,删除tools-copy文件夹。
如果打开,请closuresEclipse或Android Studio。
它为我工作!
在我的电脑上,它是由monitor.exe在后台运行引起的。 终止该过程解决了这个问题。
从任务pipe理器中closures当前启动的android studio窗口,进入studioprocess(所以closures时,当前没有活动的工作室窗口)。 然后在Windows资源pipe理器中进入Android Studio,selectstudio64 / studio(如果是32位操作系统)并右键单击并select以pipe理员身份运行。 在一行中,您需要以pipe理员身份运行Android Studio 。
这是我所遵循的步骤。
- 重新启动计算机。
- 以pipe理员身份打开“C:\ android \ androidStudio \ sdk \ tools \ android.bat”。
- 现在安装包应该运行良好。
我知道这是一个旧的职位,但我想写我的个人解决scheme的问题:
无法将目录C:\ android-sdk \ tools重命名为C:\ android-sdk \ temp \ ToolPackage.old01。
显然我有同样的问题,每次Android工具需要更新这是一场噩梦。
我发现现在使用googlesearch的解决scheme对我来说没有任何帮助,但是这是维持Android SDK更新的重要工作。 所以我开始find一种解决这个问题的替代性工作方法,我终于find了……至less……对我来说,即使这有点棘手。
基本的问题是, android.batbatch file来自〜\ tools \文件夹,它仍然在内存中(运行),而相同的〜\ tools \文件夹需要更新(在我们的例子中,重命名)。
问题是android.bat运行java来启动swt.jar(SDK工具),它仍然无用地等待这个Java程序的完成。
您可以编辑android.bat并在该批次的最后一行看到呼叫:
call "%java_exe% %REMOTE_DEBUG%" "-Dcom.android.sdkmanager.toolsdir=%tools_dir%" "-Dcom.android.sdkmanager.workdir=%work_dir%" -classpath "%jar_path%;%swt_path%\swt.jar" com.android.sdkmanager.Main %*
问题是“call”CMD命令。 它等待被调用的外部程序完成。
但是另一种方法是从batch file运行外部程序: “开始”命令 。 它启动一个外部程序并终止。
所以我只是用“开始”replace了“call”命令,以便在更改之后,我的android.bat的最后一行是:
start "" "%java_exe% %REMOTE_DEBUG%" "-Dcom.android.sdkmanager.toolsdir=%tools_dir%" "-Dcom.android.sdkmanager.workdir=%work_dir%" -classpath "%jar_path%;%swt_path%\swt.jar" com.android.sdkmanager.Main %*
注意 :保持开始和应用程序path之间的“”。 您可以在这些连字符中添加文本,这些文本将成为您将在更改后看到的java.exe命令窗口的标题。 在我的情况下,我把字幕留作空string,但你可以在那里写你想要的。
修改完成后,你可以启动SDK,android.bat将不再等待,让SDK工具可以自由地播放(并且不需要头痛的重命名〜\ tools \文件夹)。
显然, 更新SDK工具之后,必须在新的更新的android.batbatch file中重做相同的更改 。 这可能有点不舒服,但是在运行SDK工具之前,您只需要记住做出更改,在更新Android时就没有其他麻烦了。
在Ubuntu下面解决了我的问题
- cd [工具/目录/path]
- sudo ./android
通过杀死任务pipe理器中的adb.exe解决了这个问题。