【问题标题】:Android SDK manager won't openAndroid SDK 管理器无法打开
【发布时间】:2011-07-09 03:50:44
【问题描述】:

所以我为 Windows 安装了 android sdk:

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

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

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

【问题讨论】:

  • @user624869:你运行的是什么版本的 Windows?另外,你提到的“路径变量问题”是什么?
  • 尝试使用工具文件夹中的android.bat 从命令提示符启动 SDK。
  • 应该有一个详细的解释帖子关于所有这些java路径,sdk路径,sdk/avd管理器不显示,管理员权限,android.bat..由于相关的动态绑定而出现的问题路径。

标签: android path


【解决方案1】:

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

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

【讨论】:

  • 你能说得更具体些吗?我不知道我的 java\bin 在哪里,是 C:\Program Files\Java\jdk1.7.0_11\bin 吗? “在 windows\system32 目录之前”是什么意思?在 CMD 中运行“where java”有什么意义?
  • 好的,我想通了。在我的情况下,这意味着转到计算机 -> 高级系统设置 -> 环境变量 -> PATH -> 编辑:确保它们按以下顺序排列:C:\Program Files\Java\jdk1.7.0_11\bin;%SystemRoot% \system32;....
  • 我应该使用JDK bin还是JRE bin?
  • @Peterdk JDK。任何关心的东西都会更喜欢JDK。其他任何事情都不会大惊小怪。
  • 仍然无法通过更改环境路径打开 sdk Manager。
【解决方案2】:

好的,我遇到了同样的问题,但这些答案都不适合我(我运行的是 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
    
  3. 用这个替换它:

    set java_exe=D:\Program Files\Java\jdk1.7.0_07\bin\java.exe 
    

    path 是你的 Java exe 的路径。

  4. 运行android.bat

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

【讨论】:

  • 我也在运行 Windows 8 并遇到与原始海报相同的问题。就像 teuneboon 一样,除了这个之外,没有其他解决方案对我有用。谢谢 teuneboon!
  • @teuneboon 感谢这个解决方案。而且我发现只有当您将 android SDK 放在任何包含空格的文件夹/路径中时才会发生这种情况。
  • @PC。这意味着如果我重命名 android SDK 父文件夹,那么这个问题就解决了吗?
  • @Deepak 是的,您需要注意的是完整路径中不应有任何空格。
  • @PC。抱歉,但这对我没有帮助,我找到了这个链接,这对我有用stackoverflow.com/a/7567354/1250370
【解决方案3】:

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

【讨论】:

  • 我在cmd中运行了android.bat,它说“xcopy不被识别为内部或外部命令”;所以我在环境变量-> PATH 中定义了 System32 文件夹(包含 xcopy.exe)的路径,现在它可以工作了。谢谢
【解决方案4】:

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

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

运行“tools/android.bat”时可以使用此信息。我认为对于目前拥有 Android SDK 版本 v25.3.1 及更高版本的用户来说,这是正确的。

【讨论】:

  • 有什么方法可以解决这个问题,而不是通过命令行工具解决它?
  • 虽然这不是问题的答案,但为了可见性,我不得不对此表示赞同,因为由于某种原因,最新的 SDK 下载中不存在 SDK Manager.exe。可能是在 Android Studio 中打包所有内容。事实上,@bmdelacruz 的回答基本上就是谷歌在这里所说的:developer.android.com/studio/intro/update.html#sdk-manager
  • 我的 eclipse Luna 运行良好 我添加了一些后来的 sdks 并且它运行并提交了我的应用程序,现在我想做一些更改它不再打开我尝试了 sdkmanager 一大堆错误弹出但仍然不加载
  • 运行 sdkmanager.bat 时出错太多!
【解决方案5】:

同样的问题。 固定的! 我安装了正确的 Java 东西,都是 64 位的,因为我的系统是 x64,什么也没发生。于是我去C:\Users\[my name]删除了第一次运行SDK时创建的目录.android,显然配置有问题。

然后它起作用了。你可以试试。删除该文件夹或将其移至桌面并运行 SDK。

【讨论】:

    【解决方案6】:

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

    来源:Is GUI for Android SDK manager gone?

    【讨论】:

      【解决方案7】:

      似乎有几种方法可以启动 SDK 管理器:

      1. SDK Manager.exe 在 Android SDK 的根目录中。
      2. Android SDK 的sdk\tools\lib 中的SDK Manager.exe
      3. Window -> Android SDK Manager Eclipse 中的菜单
      4. 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\x86lib\x86_64 文件夹加载 jar 文件。在某些时候,BAT 文件错误、32 位 JDK 和 64 位 Android SDK 之间出现了混淆。

      所以,我的解决方法是:

      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”

        • 如果使用 32 位 Android SDK/JDK,请使用lib\x86

          REM for /f %%a in ('%java_exe% -jar lib\archquery.jar') do set swt_path=lib\%%a
          set swt_path=lib\x86
          
        • 如果使用 64 位 Android SDK/JDK,请使用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 启动了 sdk manager 但 sdk manager.exe 没有。它显示错误 android.bat not found 。你能帮帮我吗?
      • 可以在运行android.bat之前设置ANDROID_SWT=lib\x86或者lib\x86_64来指定swt_path。
      【解决方案8】:

      最简单的方法是以管理员身份运行程序。

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

      这应该可以解决问题:)

      【讨论】:

      • 确实解决了这个问题。这是最好的解决方案。如果要默认设置此行为,请在文件属性的“兼容性”选项卡中选中“以管理员身份执行此程序”标志。
      【解决方案9】:

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

      【讨论】:

        【解决方案10】:

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

        右击“计算机”>属性>高级系统设置>环境变量

        然后在系统变量下,添加一个新变量。

        Variable   Value
        JAVA_PATH  C:\Program Files\Java\jdk1.7.0
        

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

        【讨论】:

          【解决方案11】:

          在工具文件夹中找到 android.bat 文件对我有用。有趣的是,让它运行是如此的苦差事。根据我的经验,通常 .exe 文件会按预期运行。我不知道为什么在这种情况下它不...奇怪又烦人!

          【讨论】:

            【解决方案12】:

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

            我跑了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 用户)

            【讨论】:

            • 应该是最高的答案。在启动 VM 和 AVD 时断电,之后 SDK 就死了。我只删除了最后使用的虚拟机,它又可以工作了!谢谢! - 对于无法删除整个 VM 的用户,请查看受影响 VM 上的 .ini 文件(如果不确定,请查看每个文件)。如果它是 empty (我的情况)或乱码,请将其替换为有效的 .ini(例如来自另一个 VM)并相应地替换其中的文本。运气好的话,它会重新开始。
            【解决方案13】:

            我遇到了同样的问题,终于设法解决了。然后,我创建了一个包含通用修复程序的分步指南,以帮助所有开发人员尽快解决这个问题:http://www.dominantwire.com/2015/03/android-sdk-not-opening.html

            简述所有步骤:

            1.如果你有 jdk v1.8。删除它并重新安装 jdk v1.7.x.x

            2.在环境变量中设置jdk和jre bin文件夹的路径

            3.删除(先备份)C中存在的.android文件夹:>用户>[用户名]>.android

            4.设置JAVA_HOME变量,JAVA_HOME为变量名,jdk的bin文件夹路径为变量值。

            5.转到 [sdk 目录] > 工具。找到并右键单击android.bat文件并选择“编辑”在记事本中打开它并进行以下修改。

            原创

            set java_exe=
            call lib\find_java.bat
            if not defined java_exe goto :EOF
            

            修改

            set java_exe=C:\Program Files\Java\jdk1.7.0_75\bin\java.exe
            rem call lib\find_java.bat
            rem if not defined java_exe goto :EOF
            

            注意:复制并粘贴您自己的 java.exe 路径目录,如前所述。

            原创

            for /f "delims=" %%a in ('"%java_exe%" -jar lib\archquery.jar') do set swt_path=lib\%%a
            

            修改

            rem for /f "delims=" %%a in ('"%java_exe%" -jar lib\archquery.jar') do set swt_path=lib\%%a
            set swt_path=lib\x86_64
            

            注意:如果您的 android sdk 是 64 位,请提及 set swt_path=lib\x86_64 否则如果它是 32 位,则将其保留为 set swt_path=lib\x86

            1. 完成!从 android.bat 文件或 eclipse 启动 android sdk。它应该可以正常打开!

            【讨论】:

            • 我的 android.bat 启动了 sdk manager 但 sdk manager.exe 没有。它显示错误 android.bat not found。你能帮帮我吗?
            【解决方案14】:

            我尝试了这里提供的几乎所有解决方案。但没有任何结果。最后,我从下面的链接下载了 tools(tools_r25.2.3-windows.zip) 并替换了 sdk 文件夹中的 tools 子文件夹。它开始工作了。

            https://developer.android.com/studio/index.html#downloads

            虽然它是一个旧线程,但将其作为信息分享。

            【讨论】:

            • 用下载并解压的tools_r25.2.3-windows.zip 替换SDK 目录中的tools 文件夹也解决了我的问题,但是使用最新工具更新了定向链接,但没有解决这个问题。我直接从这里下载了 ZIPdl.google.com/android/repository/…
            【解决方案15】:

            我最近在使用 android studio 的 sdk 管理器安装了 android 模拟器后遇到了这个问题 - 这也将我的 android sdk 工具升级到 26.0.1(因为这是先决条件 - 根据 android studio 的 sdk 管理器)。

            就我而言,我只是将 android sdk 的 tools 文件夹替换为旧 android sdk 中的 tools 文件夹。这降级了android sdk工具,但现在我可以使用SDK Manager.exe打开sdk管理器。

            【讨论】:

            • 嗨,我想我的问题也是在升级到 26 后开始的。如何获得旧的 android sdk 工具?
            • 选项 1. 如果您有 android studio 安装程序(最好是旧版本的 android studio)与 android sdk 捆绑在一起,您可以选择同时安装 android studio 和 android sdk - 然后将现有 sdk 的工具文件夹替换为新安装的 sdk 的工具文件夹。
            • 选项 2。您可以访问 herehere 下载旧的 android sdk 工具。 (你也可以找到一些旧的sdk工具here,但是那些工具太旧了)
            • 谢谢,这是 Android 团队的一个严重错误。 26版本有很多丢失的文件!降级到以前的 sdk 工具有效。
            【解决方案16】:

            还要确保 Windows 上的 PATH 中的 JDK 之前没有 JRE。 Oracle 总是先将自己的 JRE 填充到路径中(我在安装 android sdk 后安装了 Oracle Lite)。

            【讨论】:

              【解决方案17】:

              同样的问题,我尝试了所有解决方案,但没有任何效果。然后我进入C:\Users\User_name删除了“.android”文件夹,SDK管理器可以正常打开,并自动创建了另一个“.android”文件夹。

              【讨论】:

                【解决方案18】:

                我已经解决了这个问题。如果您无法从资源管理器中打开“SDK Manager.exe”,或者您在使用 SDK Manager 时遇到任何问题。

                首先检查环境变量中给出的Java路径。 (在 CMD 上运行 Java 命令,或以管理员身份在 CMD 上运行 Where Java)。如果Java命令被识别,Java可能没有问题

                这可能是由于 SDK 工具损坏所致。要修复它,首先将tools 文件夹(Android\Sdk\tools) 重命名为tools.old。现在下载https://dl.google.com/android /repository/tools_r25.2.3-windows.zip?hl=id。 之后将下载的 zip 文件解压缩到 Android\Sdk\,因此新的 tools 文件夹将与 SDK 的所有内容一起解压缩。现在打开SDK Manager.exe。如果它打开你的问题就解决了。请注意,SDK Manager.exe 是一个启动器文​​件,用于启动Android\Sdk\tools\bin\sdkmanager.bat。如果您对答案感到满意,请点赞,以便最多用户解决问题。如需进一步帮助,请访问此页面https://answers.unity.com/questions/1320150/unable-to-list-target-platform.html

                【讨论】:

                  【解决方案19】:

                  一直在尝试让 SDK 管理器运行一段时间,现在跟踪我能找到的具有类似问题的各种线程。

                  要考虑的另一个解决方案是将 android SDK 移动到名称中没有空格的目录。

                  以我为例,它位于:

                  e:\Program Files (x86)\Android\android-sdk\
                  

                  并且会失败。 移至:

                  c:\android_sdk_sucks\
                  

                  成功了。

                  【讨论】:

                  • 在这种情况下,当空间在这样的文件夹中时,您可以使用引号。 "e:\Program Files (x86)\Android\android-sdk\"
                  【解决方案20】:

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

                  【讨论】:

                  • 我认为是路径中的空格。我使用 C:\Programs 而不是 C:\Program Files 并且它有效。这是四年后的v3.01!我感觉自己又回到了 90 年代。
                  【解决方案21】:

                  所有这些答案都对我没有帮助,但我找到了正确的步骤(Windows 7 64 位):

                  1) 从您的 sdk 文件夹中打开 android.bat 进行编辑;

                  2) 正好添加这两个字符串

                  set java_exe=c:\Program Files\Java\jdk1.8.0_25\bin\java.exe
                  rem call lib\find_java.bat
                  

                  而不是这个

                  set java_exe=
                  call lib\find_java.bat
                  if not defined java_exe goto :EOF
                  

                  c:\Program Files\Java\jdk1.8.0_25 是您的 jdk 文件夹。 3)享受。 SDK Manager 将从 Android Studio IDE 启动。

                  【讨论】:

                    【解决方案22】:

                    我为 Mac 安装了 Android Studio。我无法通过 IDE 访问 SDK 管理器。事实证明,我只需要设置我的 JAVA_HOME 环境变量。拿到这一套后,我就可以启动 SDK 管理器了。

                    【讨论】:

                      【解决方案23】:

                      我也遇到过同样的问题。运行 android.bat 时,我找到了解决方案(如果 Java 安装在“普通”Windows 目录中,即“程序文件”),您需要在“c:/program files/”等周围加上引号。否则找不到“C:/程序”上的java。 (我不喜欢空格)

                      【讨论】:

                        【解决方案24】:

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

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

                        重新启动我的电脑,现在我可以双击应用程序并运行 SDK 管理器。希望有帮助:)

                        【讨论】:

                        • 我也遇到了同样的问题,但无法通过您提供的解决方案解决
                        【解决方案25】:

                        我在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 Manager 应该会出来。

                        附言我安装的操作系统、Java 8 和 Android SDK 都是全新的,我没有做任何额外的配置。

                        附言您可能仍需要配置 PATH 环境变量,以便脚本可以找到合适的 java.exe

                        【讨论】:

                          【解决方案26】:

                          我测试了所有方法,但唯一可行的方法是重新安装 sdk-manager 与旧路径相同

                          【讨论】:

                            【解决方案27】:

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

                            创建一个新用户帐户,重新安装或启动 android.bat,它应该对我有用

                            【讨论】:

                            • 我只是不明白这是一个好的选择。我无权在我的机器(工作机器)上创建新用户帐户。存在哪些需要删除的用户设置?
                            【解决方案28】:

                            我遇到了类似的问题,SDK 管理器会闪烁命令窗口并死掉。

                            这对我有用:我的处理器和操作系统都是 64 位的。我已经安装了 64 位 JDK 版本。重新安装 JDK 或修改路径不会解决此问题。我的理论是 SDK Manager 可能需要 32 位版本的 JDK。不知道为什么这很重要,但我最终安装了 32 位版本的 JDK 和魔法。 SDK 管理器成功启动。

                            【讨论】:

                              【解决方案29】:

                              操作系统:Windows 7-64 位,Android SDK:64 位

                              1. 引入一个名为:JAVA_HOME 的新“系统变量”,其值为:C:\Program Files\Java\jdk1.7.0_51

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

                              检查清单:

                              • 确保系统变量“Path”中的 java 路径类似于:C:\Program Files\Java\jdk1.7.0_51\bin
                              • 您的文件夹名称中没有空格,请将 C:\Android SDK 替换为 C:\Android_SDK
                              • 您可以在命令行中使用“where java”命令找到您的 java

                              【讨论】:

                                猜你喜欢
                                • 1970-01-01
                                • 1970-01-01
                                • 1970-01-01
                                • 2013-12-11
                                • 1970-01-01
                                • 1970-01-01
                                相关资源
                                最近更新 更多