所以我为Windows安装了android sdk:
http://developer.android.com/sdk/index.html(安装链接)
遇到了路径变量的问题。所以我通过改变环境变量中的“PATH”来修复这个问题,包括我的java.exe文件在JDK中的位置。
但现在当我打开android sdk管理器时,一个类似cmd的屏幕只是短暂地闪烁了半秒钟,然后就消失了。我不知道发生了什么,也不知道怎么让这东西工作。
所以我为Windows安装了android sdk:
http://developer.android.com/sdk/index.html(安装链接)
遇到了路径变量的问题。所以我通过改变环境变量中的“PATH”来修复这个问题,包括我的java.exe文件在JDK中的位置。
但现在当我打开android sdk管理器时,一个类似cmd的屏幕只是短暂地闪烁了半秒钟,然后就消失了。我不知道发生了什么,也不知道怎么让这东西工作。
当前回答
我的问题是,我可以通过双击android.bat运行SDK管理器,但不能当我双击实际的SDK管理器应用程序。我通过设置一个新的环境变量来解决这个问题:
ANDROID_HOME = C:\开发\adt-bundle-windows-x86_64-20130911\sdk\
重启我的电脑,现在我可以双击应用程序和运行SDK管理器。希望这对你有所帮助。
其他回答
尝试将Java路径(指向JDK)添加到系统环境变量中。
右键单击“计算机”>属性>高级系统设置>环境变量
然后在“系统变量”下,添加一个新变量。
Variable Value
JAVA_PATH C:\Program Files\Java\jdk1.7.0
然后编辑Path变量,在它前面加上%JAVA_PATH%\bin;。
SDK管理器无法打开的原因有很多。我建议在命令窗口中运行android.bat,这样您就可以读取错误消息并应用正确的修复程序,而不是盲目地尝试每一个。
好吧,我遇到了同样的问题,这些答案都不适合我(我运行的是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的路径,不带引号以使其工作。)
似乎有几种方法可以启动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文件)。
我看到的答案是通过在sdk\tools\android.bat中硬编码java.exe位置和x86 / x86_64架构字符串来提供变通解决方案。这些都是快速的解决方案,但并没有解决我真正好奇的根本问题。
我遇到的实际问题是,批处理脚本无法找到另一个脚本/jar文件,因此无法继续。我可以说剧本写得很糟糕。
当我在sdk\tools\android.bat中做了以下更改后,一切都像魔法一样工作。
具体来说,我添加了%~dp0\:
set java_exe=
call %~dp0\lib\find_java.bat
if not defined java_exe goto :EOF
...
for /f "delims=" %%a in ('"%java_exe%" -jar %~dp0\lib\archquery.jar') do set swt_path=lib\%%a
现在,尝试启动脚本,SDK管理器应该出来了。
附注:我安装的操作系统、Java 8和Android SDK都是新的,我没有做任何额外的配置。
p.s. .您可能仍然需要配置PATH环境变量,以便脚本可以找到合适的java.exe。