所以我为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的屏幕只是短暂地闪烁了半秒钟,然后就消失了。我不知道发生了什么,也不知道怎么让这东西工作。
当前回答
确保java\bin目录在windows\system32目录之前。 SDK管理器使用java,它在system32文件夹中找到了一个。
在CMD窗口中,您可以运行“where java”。 不要忘记在更改用于检查的路径变量后重新启动CMD。
其他回答
似乎有几种方法可以启动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管理器运行了一段时间,现在遵循各种线程与类似的问题,我可以找到。
另一个要考虑的解决方案是将android SDK移动到名称中没有空格的目录。
例如,在我的例子中,它存在于:
e:\Program Files (x86)\Android\android-sdk\
而且会失败。 搬迁地点:
c:\android_sdk_sucks\
它工作。
我得到的答案与其他答案完全不同。
我运行tools/android.bat,得到
java.lang.NullPointerException
at java.io.File.<init>(File.java:251)
at com.android.sdklib.internal.avd.AvdManager.parseAvdInfo(AvdManager.java:1623)
at com.android.sdklib.internal.avd.AvdManager.buildAvdList(AvdManager.java:1584)
at com.android.sdklib.internal.avd.AvdManager.<init>(AvdManager.java:357)
at com.android.sdklib.internal.avd.AvdManager.getInstance(AvdManager.java:380)
at com.android.sdklib.internal.repository.updater.UpdaterData.initSdk(UpdaterData.java:259)
at com.android.sdklib.internal.repository.updater.UpdaterData.<init>(UpdaterData.java:127)
at com.android.sdkuilib.internal.repository.SwtUpdaterData.<init>(SwtUpdaterData.java:61)
at com.android.sdkuilib.internal.repository.ui.SdkUpdaterWindowImpl2.<init>(SdkUpdaterWindowImpl2.java:104)
at com.android.sdkuilib.repository.SdkUpdaterWindow.<init>(SdkUpdaterWindow.java:88)
at com.android.sdkmanager.Main.showSdkManagerWindow(Main.java:408)
at com.android.sdkmanager.Main.doAction(Main.java:391)
at com.android.sdkmanager.Main.run(Main.java:151)
at com.android.sdkmanager.Main.main(Main.java:117)
基本上,它看起来像我有一个损坏的AVD配置,所以我去清除我的虚拟设备,一切又开始工作了!c:\ users \ youruser \。Android \avd适用于Windows用户)
我尝试了这里提供的几乎所有解决方案。但一切都不顺利。最后,我从下面的链接下载了tools(tools_r25.2.3-windows.zip),并替换了sdk文件夹中的tools子文件夹。它开始起作用了。
https://developer.android.com/studio/index.html#downloads
虽然这是一个旧线程,但作为一个信息共享。
谷歌从版本26开始删除了SDK的GUI。如果您正在使用版本26,请尝试降级到版本25。你仍然可以从Android Studio打开SDK。
来源:GUI为Android SDK管理器消失了吗?