所以我为Windows安装了android sdk:

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

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

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


当前回答

一直试图让SDK管理器运行了一段时间,现在遵循各种线程与类似的问题,我可以找到。

另一个要考虑的解决方案是将android SDK移动到名称中没有空格的目录。

例如,在我的例子中,它存在于:

e:\Program Files (x86)\Android\android-sdk\

而且会失败。 搬迁地点:

c:\android_sdk_sucks\

它工作。

其他回答

似乎有几种方法可以启动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文件)。

我也遇到过同样的问题。当运行android.bat时,我找到了解决方案(如果Java安装在“正常”Windows目录中,即“程序文件”),你需要在“c:/程序文件/”等周围加上引号等。否则它不能在“C:/program”上找到java。(我不喜欢空格)

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

没有什么能帮助我从所有这些答案,但我找到了正确的步骤(Windows 7 64位):

1)从sdk文件夹中打开android.bat进行编辑;

2)添加这两个字符串:

set java_exe=c:\Program Files\Java\jdk1.8.0_25\bin\java.exe
rem call lib\find_java.bat

而不是这样:

set java_exe=
call lib\find_java.bat
if not defined java_exe goto :EOF

其中c:\Program Files\Java\ jdk1.8.0_25是您的jdk文件夹。 3)享受。SDK管理器将从Android工作室IDE启动。

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

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