android.bat打开SDK Manager,SDK Manager.exe没有

时间:2013-02-23 08:29:17

标签: android batch-file sdk

过去48小时我一直试图解决这个问题,这让我感到疯狂。

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

经过多次搜索,我终于设法让我的SDK Manager在调整android.bat并以管理员身份运行后打开。

但是,SDK Manager.exe无法找到android.bat,因此我将其复制到android-sdk文件夹中。

SDK Manager.exe现在能够找到android.bat,但它仍然会暂时闪烁cmd然后关闭。

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

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

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

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

编辑:在考虑之后,我认为问题可能在于android.bat的权限。它必须以管理员身份运行才能工作,否则如果经常打开它会说“访问被拒绝”。

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

6 个答案:

答案 0 :(得分:1)

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

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

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

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

2)创建SDK Manager.exe的“内部”副本的快捷方式,并将其移动到您想要的位置;它现在知道每次去哪里找文件和工作。我的桌面上有一份副本,但你把它放在哪里并不重要。

注意:某处仍然存在问题,可能与谷歌有关,但似乎有些人无论安装什么/何时安装,而其他人根本没有问题。

这可能不是我们需要谷歌修复它的答案,但它可以在不卸载/重新安装java或SDK,修改/添加变量,修改android.bat,更改路径,以管理员身份运行等方面工作。 ,最好的部分是它很容易。太糟糕了,我们很多人浪费了几个小时的时间来修复它。

祝你好运!

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

答案 1 :(得分: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. 删除或评论该行:"调用lib \ find_java.bat"

  3. 我评论了第二行,因此它通过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设备上等等。好吧,如果有其他人遇到这个问题,请尝试一下我的解决方案,看看它是否适合你们。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

当您以管理员身份运行时,当前目录会因为您模仿其他用户而被更改。为了证明这一点,将以下行放在bat文件的顶部:

echo.CD=%CD% & pause

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

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

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

pushd %~dp0

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

答案 4 :(得分:0)

我有同样的问题!

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

简单的解决方法是安装两个版本。您可以手动下载here

祝你好运!

答案 5 :(得分:0)

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