所以我为Windows安装了android sdk:

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

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

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


当前回答

我看到的答案是通过在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。

其他回答

http://quantumsupport.blogspot.com/2011/03/android-sdk-managerexe-wont-start.html

创建一个新的用户帐户,要么重新安装或只是启动android.bat,它应该为我工作

谷歌从版本26开始删除了SDK的GUI。如果您正在使用版本26,请尝试降级到版本25。你仍然可以从Android Studio打开SDK。

来源:GUI为Android SDK管理器消失了吗?

我得到的答案与其他答案完全不同。

我运行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用户)

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

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

我看到的答案是通过在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。