所以我为Windows安装了android sdk:

http://developer.android.com/sdk/index.html(安装链接)

遇到了路径变量的问题。所以我通过改变环境变量中的“PATH”来修复这个问题,包括我的java.exe文件在JDK中的位置。

但现在当我打开android sdk管理器时,一个类似cmd的屏幕只是短暂地闪烁了半秒钟,然后就消失了。我不知道发生了什么,也不知道怎么让这东西工作。


当前回答

尝试将Java路径(指向JDK)添加到系统环境变量中。

右键单击“计算机”>属性>高级系统设置>环境变量

然后在“系统变量”下,添加一个新变量。

Variable   Value
JAVA_PATH  C:\Program Files\Java\jdk1.7.0

然后编辑Path变量,在它前面加上%JAVA_PATH%\bin;。

其他回答

似乎有几种方法可以启动SDK管理器:

Android SDK的根目录中的SDK Manager.exe。 Android SDK的SDK \tools\lib中的SDK Manager.exe。 Window -> Eclipse中的Android SDK管理器菜单 Android sdk的sdk\tools中的Android .bat。

在我的例子中,它看起来像android.bat在行上失败:

for /f %%a in ('%java_exe% -jar lib\archquery.jar') do set swt_path=lib\%%a

至于那条线在做什么…如果我手动运行:"[path_to_java]java" -jar lib\archquery.jar

它成功返回:x86_64

但是当批处理文件运行相同的命令时,我不知道为什么,但它失败了,并出现错误消息:

Unable to access jarfile lib\archquery.jar

因此变量swt_path被设置为一个空字符串。一切都从那里开始分解。

批处理文件为变量java_exe设置了正确的值。其他人通常报告这是一个问题,但这些变通方法与我的情况无关。

人们建议通过在问题行开头添加REM来注释掉问题行,并添加一行来手动设置swt_path变量,这是一个有效的解决方法:

REM for /f %%a in ('%java_exe% -jar lib\archquery.jar') do set swt_path=lib\%%a
set swt_path=lib\x86

但是,在我的案例中,关键问题是它选择从lib\x86或lib\x86_64文件夹中加载jar文件。在某种程度上,BAT文件错误、32位JDK和64位Android SDK之间出现了混淆。

所以,在我的案例中,解决方法是:

Uninstall ALL versions of Java Install the JDK You can either use the 32-bit Android SDK and install the 32-bit JDK Or use the 64-bit Android SDK and install the 64-bit JDK But the "bitness" of the JDK should match the Android SDK. It appears that either of the 32-bit or the 64-bit will work on a 64-bit computer, AS LONG AS the JDK bitness matches the Android SDK bitness. Edit "android.bat" If using the 32-bit Android SDK/JDK, use lib\x86: REM for /f %%a in ('%java_exe% -jar lib\archquery.jar') do set swt_path=lib\%%a set swt_path=lib\x86 If using the 64-bit Android SDK/JDK, use lib\x86_64: REM for /f %%a in ('%java_exe% -jar lib\archquery.jar') do set swt_path=lib\%%a set swt_path=lib\x86_64

这样做之后,我可以通过运行android.bat或从Eclipse菜单成功运行SDK管理器(但仍然不能通过直接运行SDK Manager.exe文件)。

也要确保在Windows的PATH中JDK之前没有JRE。Oracle总是在其他任何东西之前把自己的JRE塞到路径中(我在安装android sdk后安装了Oracle Lite)。

确保java\bin目录在windows\system32目录之前。 SDK管理器使用java,它在system32文件夹中找到了一个。

在CMD窗口中,您可以运行“where java”。 不要忘记在更改用于检查的路径变量后重新启动CMD。

我的问题是,我可以通过双击android.bat运行SDK管理器,但不能当我双击实际的SDK管理器应用程序。我通过设置一个新的环境变量来解决这个问题:

ANDROID_HOME = C:\开发\adt-bundle-windows-x86_64-20130911\sdk\

重启我的电脑,现在我可以双击应用程序和运行SDK管理器。希望这对你有所帮助。

我遇到过一个类似的问题,SDK管理器会闪一个命令窗口然后死掉。

这对我来说很管用:我的处理器和操作系统都是64位的。我已经安装了64位JDK版本。重新安装JDK或修改path并不能解决这个问题。我的理论是SDK管理器可能需要32位版本的JDK。不知道为什么这很重要,但我最终安装了32位版本的JDK和magic。SDK管理器成功上线。