Android SDK管理器无法打开

JDS*_*JDS 227 android path

所以我安装了Windows的android sdk:

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

并遇到路径变量问题.所以我通过改变环境变量中的"PATH"来修复它,以包括我的java.exe文件在JDK中的位置.

但是现在当我打开android sdk管理器时,一个类似cmd的屏幕只是短暂地闪烁了半秒然后就消失了.我不知道发生了什么以及如何让这件事发挥作用.

小智 265

确保您的java\bin目录位于windows\system32目录之前的路径语句中.SDK Manager使用java,它在system32文件夹中找到了一个.

在CMD窗口中,您可以运行' where java'.更改路径变量以进行检查后,请不要忘记重新启动CMD.

希望这可以帮助

  • 好的,我明白了.在我的情况下,它意味着转到计算机 - >高级系统设置 - >环境变量 - >路径 - >编辑:确保它们按此顺序:C:\ Program Files\Java\jdk1.7.0_11\bin;%SystemRoot%\SYSTEM32; .... (37认同)
  • 惊人!你怎么知道的? (16认同)
  • 你可以说得更详细点吗 ?我不知道我的java\bin在哪里,是C:\ Program Files\Java\jdk1.7.0_11\bin?什么"在windows\system32目录之前"是什么意思?在CMD中运行"where java"有什么意义? (11认同)
  • 我应该使用JDK bin还是JRE bin? (9认同)
  • @Peterdk JDK.任何关心的东西都会更喜欢JDK.其他任何事情都不会被激怒. (5认同)
  • 对我不起作用 - 赢7/64,java 7_21,java 8. (3认同)
  • 我在Windows 8上遇到了同样的问题.但是我的路径包含空格符号还有其他问题.例如,包含"C:\ Program Files ..."的路径缩小为android.bat中的"C:\ Program".所以我只是将JDK移动到另一个带路径的文件夹,它不包含任何空格,问题就消失了. (2认同)
  • 我仍然无法通过更改环境路径来打开sdk管理器。 (2认同)

teu*_*oon 181

好吧,我遇到了同样的问题,这些答案都没有对我有用(我正在运行Windows 8).我试过跑步tools/android.bat,发现我在那里遇到了一些错误.我进一步调查,似乎找到了你的Java路径的代码有问题.

这是你如何解决它:

  1. tools/android.bat在您喜欢的文本编辑器中打开
  2. 搜索这段代码:

    set java_exe=
    call lib\find_java.bat
    if not defined java_exe goto :EOF
    
    Run Code Online (Sandbox Code Playgroud)
  3. 替换为:

    set java_exe=D:\Program Files\Java\jdk1.7.0_07\bin\java.exe 
    
    Run Code Online (Sandbox Code Playgroud)

    其中path是Java exe的路径.

  4. android.bat

(在我的情况下,我必须java_exe在步骤3中指定路径,没有引号使其工作.)

  • 我也在运行Windows 8并且与原始海报具有相同的问题.就像teuneboon一样,除了这个之外,没有其他解决方案适合我.谢谢teuneboon! (7认同)
  • @teuneboon感谢这个解决方案.而且我发现只有当你将android SDK放在任何包含空格的文件夹/路径中时才会发生这种情况. (3认同)

小智 26

SDK Manager无法打开的原因有很多.我不建议盲目地尝试每一个,而是建议在命令窗口中运行android.bat,以便您可以阅读错误消息并应用正确的修复.


bmd*_*ruz 20

在最新版本的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""管理SDK"来管理SDK.tools/bin/avdmanager.bat".

运行"tools/android.bat"时可以使用此信息.我认为目前Android SDK采用v25.3.1及更高版本的用户都是如此.


Mau*_*eca 19

同样的问题在这里 固定!我安装了正确的Java东西,都是64位,因为我的系统是x64,没有任何反应.所以我去了C:\Users\[my name]并删除了.androidSDK第一次运行时创建的目录,显然配置错误了.

然后它奏效了.你可以试试.删除该文件夹或只是将其移动到桌面并运行SDK.


use*_*928 16

Google从版本26开始删除了SDK的GUI.如果您使用的是版本26,请尝试降级到版本25.您仍然可以从Android Studio打开SDK.

来源:Android SDK管理器的GUI是不是已经消失了?


Dan*_*uza 15

似乎有几种方法可以启动SDK Manager:

  1. SDK Manager.exe 在Android SDK的根目录中.
  2. SDK Manager.exesdk\tools\libAndroid SDK中.
  3. Window -> Android SDK Manager Eclipse中的菜单
  4. android.batsdk\toolsAndroid SDK中.

在我的情况下,它似乎android.bat失败了:

for /f %%a in ('%java_exe% -jar lib\archquery.jar') do set swt_path=lib\%%a
Run Code Online (Sandbox Code Playgroud)

至于该行正在做什么...如果我手动运行: "[path_to_java]java" -jar lib\archquery.jar

它成功返回: x86_64

但是当批处理文件运行相同的命令时,我不知道为什么但它失败并显示错误消息:

Unable to access jarfile lib\archquery.jar
Run Code Online (Sandbox Code Playgroud)

因此变量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
Run Code Online (Sandbox Code Playgroud)

但是,在我的情况下,关键问题是它选择从此处lib\x86lib\x86_64文件夹或文件夹中加载jar文件.在某些时候,BAT文件错误,32位JDK和64位Android SDK之间的问题变得混乱.

SO,在我的情况的解决方法是:

  1. 卸载所有版本的Java
  2. 安装JDK
    • 您可以使用32位Android SDK并安装32位JDK
    • 或者使用64位Android SDK并安装64位JDK
    • 但JDK的"位数"应与Android SDK相匹配.似乎32位或64位中的任何一个都可以在64位计算机上运行,​​因为JDK位数与Android SDK位相匹配.
  3. 编辑"android.bat"

执行此操作后,我可以通过运行android.bat或从Eclipse菜单成功运行SDK Manager (但仍然不能SDK Manager.exe直接运行任何一个文件).


小智 13

最简单的方法是以administartor的身份运行程序.

右键单击SDK Manager - > 以管理员身份运行

那应该解决问题:)

  • 确实解决了这个问题.这是最好的解决方案.如果要在默认情况下设置此行为,请在文件属性的"Compativility"选项卡中选中"以管理员身份执行此程序"标志. (2认同)

Sha*_*aun 9

我有同样的问题,尝试设置路径变量和一切.SDK管理器需要的不是JDK,而是实际的Java SE最终用户废话.转到http://www.java.com/en/download/ie_manual.jsp?locale=en并下载.一旦我完成安装,它就像一个魅力


Van*_*nja 8

尝试将Java路径(指向JDK)添加到系统环境变量.

右键单击"计算机">"属性">"高级系统设置">"环境变量"

然后在"系统变量"下添加一个新变量.

Variable   Value
JAVA_PATH  C:\Program Files\Java\jdk1.7.0
Run Code Online (Sandbox Code Playgroud)

然后编辑Path变量,为其添加前缀%JAVA_PATH%\bin;.


小智 6

在tools文件夹中找到android.bat文件对我有用.有趣的是,它是如此繁琐,让它运​​行.根据我的经验,通常.exe文件按预期运行.我不确定为什么它不会在这种情况下......奇怪而烦人!


Ken*_*Ito 5

我有一些与其他答案完全不同的东西.

我跑了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)
Run Code Online (Sandbox Code Playgroud)

基本上看起来我有一个腐败的AVD配置,所以我去了我的虚拟设备,一切都开始工作了!(C:\Users\YourUser\.android\avdWindows用户的文件)