尝试更新我的Android SDK时,尝试安装此特定程序包时遇到此错误:
我该如何解决?
Answers:
这种情况有时会在Windows SDK上偶尔发生(即使我没有运行任何防病毒软件或类似程序,也要以管理员身份执行SDK-Manager,依此类推)。
在这种情况下,我只是手动更新工具。这意味着在出现错误后关闭SDK-Manager并打开ANDROID_SDK\temp
文件夹。应该有一个名为tools_R16.zip
或类似名称的zip (不记得确切的名称)。解压缩。您应该以一个tools
文件夹结尾。将所有文件从此文件夹复制到中ANDROID_SDK\tools
。询问时覆盖。并事先备份SDKs tools文件夹,以防万一发生爆炸。
之后,再次启动SDK-Manager。工具版本应更新。
android-sdk\extras\android\support
文件夹
问题似乎是Eclipse甚至SDK Manager本身都锁定了该文件夹。从tools文件夹运行android.bat应该可以解决问题。
C:\Android`. Simply exiting Eclipse and then running
C:\ Android \ tools \ android.bat`遇到了同样的问题,为我解决了这个问题。
如果您从Android Studio启动了SDK Manager,则只需关闭Android Studio。
我认为SDK Manager是Android Studio的一部分的模式对话框,而不是单独的程序。
谢谢。这是我解决的方法:
在这种情况下,我手动更新了工具。这意味着在发生错误后关闭SDK管理器,然后打开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
之后,再次启动SDK管理器。工具版本应更新。
好吧,我在Windows 7上遇到了同样的问题...问题是,在更新过程中,它尝试重命名tools文件夹(在SDK文件夹内),并且该文件夹由当前正在运行的进程“ ADB”使用...
因此,在停止/终止该过程之前,您无法顺利进行更新...
BTW复制从临时粘贴工具文件夹的新内容也将工作...
我尝试运行android.bat并遇到相同的错误。
对我有用的是使用解锁器来解锁\ tools文件夹。
更新SDK时遇到相同的错误。这是因为目标文件夹被锁定(访问权限被拒绝)。您可以在“ Ubuntu”中按以下方式解决它:
按ALT + F2并键入'gksudo nautilus'并导航到目标文件夹(如tools或extras),并授予create和delete权限。然后更新,一切都会正常运行:)
首先在同一目录(android-sdk或android-sdk-windows)中制作一份tools文件夹,然后删除原始tools文件夹,然后双击tools-copy文件夹以启动sdk管理器并安装,以打开android.bat文件。工具。
如果未删除tools文件夹,请使用解锁器LockHunter删除文件夹,然后打开android.bat来更新工具。
成功安装工具后,删除tools-copy文件夹。
如果打开,请关闭Eclipse或Android Studio。
它对我有用!!!
我知道这是一篇旧文章,但我想针对这个问题写我的个人解决方案:
无法将目录C:\ android-sdk \ tools重命名为C:\ android-sdk \ temp \ ToolPackage.old01。
显然,我遇到过同样的问题,每次需要更新Android工具时,这都是一场噩梦。
我发现使用谷歌搜索网络的所有解决方案现在都无法解决我的问题,但这对于保持Android SDK的更新至关重要。因此,我开始寻找一种替代的工作方式来解决此问题,但最终我发现了……至少……它对我有用,即使有些棘手。
基本的问题是android.bat批处理文件来自〜\ 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 %*
问题是“调用” CMD命令。它等待被调用的外部程序完成。
但是,这是从批处理文件运行外部程序的另一种方法: “开始”命令。它启动一个外部程序并终止。
因此,我只是将“ call”命令替换为“ start”,因此更改后,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 %*
注意:将“”保留在开始和应用程序路径之间。您可以在这些连字符中添加文本,这些文本将是更改后将看到的java.exe命令窗口的标题。在我的情况下,我将标题留为空字符串,但您可以在其中写入所需内容。
更改后,您可以启动SDK,而android.bat将不再等待,从而可以自由使用SDK工具(并重命名〜\ tools \文件夹)。
显然,在更新SDK工具之后,您必须在新的更新的android.bat批处理文件中重做相同的更改。这可能有点令人困惑,但是您只需要记住在运行SDK工具之前进行更改,并且在更新Android时不会有其他麻烦。
我刚停止模拟器,问题就解决了。