所以我为Windows安装了android sdk:

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

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

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


当前回答

在最新版本的Android SDK中,运行“SDK Manager.exe”和/或“AVD Manager.exe”将不再打开。甚至Android Studio中的“启动独立SDK管理器”链接,以前可以在Android SDK设置中找到,现在也没有了。

现在建议在Android Studio中执行手动SDK和AVD管理。但是对于那些没有Android Studio或者不喜欢打开Android Studio只是为了进行SDK管理的人来说,你仍然可以使用命令行工具“tools/bin/sdkmanager.bat”和“tools/bin/avdmanager.bat”来管理SDK。

这些信息在运行“tools/android.bat”时可用。我认为这对于那些目前使用v25.3.1及以上版本的Android SDK的人来说是正确的。

其他回答

似乎有几种方法可以启动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 8)。我试着运行tools/android.bat,注意到我得到了一些错误。我进一步调查了一下,发现Java路径的代码似乎有问题。

下面是解决方法:

在你最喜欢的文本编辑器中打开tools/android.bat 搜索这段代码: 设置java_exe = 叫lib \ find_java.bat 如果没有定义java_exe goto:EOF 把它替换成: set java_exe=D:\Program Files\Java\jdk1.7.0_07\bin\ Java .exe 这里的路径是你的Java exe的路径。 运行android.bat

(在我的情况下,我必须在第3步中指定java_exe的路径,不带引号以使其工作。)

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

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

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

我尝试了所有最流行的解决方案,没有一个适合我,直到我意识到Android SDK文件夹必须没有任何空格,所以我把它从“C:\Android SDK”改为“C:\Android_SDK”。就这么简单。