1

在过去的 48 小时里,我一直在努力解决这个问题,这让我发疯了。

我的 SDK Manager.exe 会闪现一个 cmd 屏幕并在不到一秒的时间内关闭。

经过一番搜索,我终于在调整android.bat后打开了我的SDK Manager,并以管理员身份运行它。

但是,SDK Manager.exe 找不到 android.bat,所以我将其复制到 android-sdk 文件夹中。

SDK Manager.exe 现在可以找到 android.bat,但它仍然短暂闪烁 cmd 然后关闭。

我的 PATH 变量将我的 jdk java.exe 目录作为第一个条目,并且我已经重新启动并重新安装了几次。

这是什么原因造成的?为什么我可以从 android.bat 打开管理器,但不能从可执行文件中打开?

我正在尝试将 Eclipse 配置为使用 SDK 管理器,但显然我不能,因为可执行文件拒绝打开。

Eclipse 还告诉我 adb.exe 丢失了,在检查平台后我已经确认了这一点。我假设 adb.exe 将从 SDK 管理器安装?

编辑:经过考虑,我认为问题可能与android.bat的权限有关。它必须以管理员身份运行才能工作,否则如果定期打开它会显示“访问被拒绝”。

有可能改变这个吗?查看 android.bat 的属性,我调整了我的帐户以完全控制。不过,这并没有影响到这个问题。

4

6 回答 6

1

我在某些机器上遇到过这种情况,但在其他机器上却没有。这是一个奇怪的问题,我相信它与其中一个 android 文件(android.bat?)中的路径问题有关。

为什么会在某些安装上发生这种情况,而在其他安装上却没有,我还没有弄清楚。我已经阅读了在这里和互联网上可以找到的所有内容,尝试了许多不同的解决方案,包括安装另一个版本的 JDK 6 和 7、修改路径变量、添加 JAVA_HOME 变量等,但都没有奏效。

这在 Windows 7 中对我有用...

1) 在 SDK 文件夹中添加“SDK Manager.exe”文件的副本(因此它位于工具、平台等文件夹旁边),然后运行它。您仍然会看到命令窗口“闪烁”一秒钟然后消失,但请耐心等待,SDK 管理器会出现。

2) 创建 SDK Manager.exe 的“内部”副本的快捷方式,并将其移动到您想要的任何位置;它现在知道在哪里可以找到文件并且每次都能正常工作。我的桌面上有一个副本,但不管你把它放在哪里都没关系。

注意:某处仍然存在问题,并且可能与 Google 有关,但似乎某些人无论何时/何时进行安装都会发生这种情况,而其他人则根本没有问题。

这可能不是我们需要让 Google 修复它的答案,但它无需卸载/重新安装 java 或 SDK、修改/添加变量、修改 android.bat、更改路径、以管理员身份运行等即可工作,并且最好的部分是它很容易。太糟糕了,我们中的许多人都浪费了数小时的时间来尝试修复它。

祝你好运!

注意:我在下面添加了关于 x64 机器的评论。这很奇怪,但是当我们在一台 x64 (OS/ADT) 机器上尝试它时,它不起作用。我刚刚尝试在使用 32 位安装的机器上全新安装 Java 7 x64 和 ADT x64(这意味着我现在在同一台机器上同时安装了 Java 和 ADT 的 32 位和 64 位),再次,它工作正常. 短暂闪烁,它消失了,然后 SDK 管理器按预期打开。谜团还在继续。:)

于 2013-03-18T18:22:07.463 回答
1

当我将我的 android SDK 工具更新到 23.0.2 时,我遇到了同样的问题。花了很多时间(大约 6 个小时)四处寻找解决办法......我找到了它,但仍然不确定它是如何工作的。

它与 android SDK 目录的 tools 文件夹中的 android.bat 文件有关,如下所示:

set java_exe=
call lib\find_java.bat

我将这些行修改为以下值:

set java_exe=pathwhereyoufindjavaexe
REM call lib\find_java.bat

基本上,做了两件事:

  1. 将您的 java_exe 变量设置为您的 Java.exe 路径

  2. 删除或注释行:“call lib\find_java.bat”

我评论了第二行,所以它不会通过 find_java.bat 重新设置我的 java_exe 变量,而是手动将我的 java_exe 变量设置为我的 java.exe 文件所在的位置。如果您不知道(或忘记了)您的 java.exe 在哪里,请尝试使用 windows 搜索它。

我的 java.exe 路径与使用 find_java.bat 找到的路径不同。我的实际路径:

U:\PortableApps\CommonFiles\Java\bin\Java.exe

路径 find_java.bat 将其设置为:

C:\Windows\systems32\java.exe

注意:我想出了什么路径“调用 lib\find_java.bat”通过在行本身下面添加以下命令来设置 java_exe 变量:

echo %java_exe%
pause

我不确定这是否是某种许可或访问错误,或者此解决方案仅对我有效,因为我的 java JDK 位于 USB 设备或类似设备上。好吧,如果其他人遇到这个问题,试试我的解决方案,看看它是否也适用于你们。

于 2014-07-03T21:26:14.710 回答
0

我不知道它是否能解决您的问题,但请确保您已为同一个位系统安装了 jre 和 jdk 以及 android sdk(我的意思是这三个都是用于 32 位或 64 位系统的)。我曾经有一个基于此的android问题!如果您将它们用于一个系统,请尝试重新安装它们。我有一个类似的问题,它在将所有版本更改为 64 位后工作。希望我能帮助你。

于 2013-02-23T08:48:49.637 回答
0

当您“以管理员身份运行”时,当前目录会更改,因为您正在模拟另一个用户。为了证明这一点,请将以下行放在 bat 文件的顶部:

echo.CD=%CD% & pause

然后以普通用户身份执行您的 bat 文件并观察结果。

现在通过“以管理员身份运行”执行 bat 文件,注意 CD 已更改为 C:\Windows\system32(典型)。

修复很简单。将以下行放入您的 bat 文件以恢复当前目录:

pushd %~dp0

它需要在您引用任何文件/文件夹之前。我通常将该行放在所有可能是“以管理员身份运行”的 bat 文件的顶部附近。如果用于较旧的 (XP) 操作系统,它不会造成任何伤害。

于 2013-02-23T13:16:51.283 回答
0

我遇到过同样的问题!

我已经安装了 64 位的 ADT 包,所以我下载了 64 位的 Java。我弄乱了路径和东西,但最终修复它的东西是安装了 Java 32 位。

简单的解决方法是安装这两个版本。您可以在此处手动下载它们。

祝你好运!

于 2014-01-21T13:45:08.373 回答
0

我对 Windows 8.1 64 位和 JDK8 有同样的问题。我卸载了 JDK8x64 并安装了 JDK8i586,现在它就像一个魅力。

于 2014-05-20T06:57:07.440 回答