首页 文章

Android SDK管理器无法打开

提问于
浏览
227

所以我安装了Windows的android sdk:

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

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

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

30 回答

  • 19

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

  • 23

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

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

    希望这可以帮助

  • 3

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

    这是你如何解决它:

    • 在您喜欢的文本编辑器中打开 tools/android.bat

    • 搜索这段代码:

    set java_exe=
    call lib\find_java.bat
    if not defined java_exe goto :EOF
    
    • 替换为:
    set java_exe=D:\Program Files\Java\jdk1.7.0_07\bin\java.exe
    

    其中path是Java exe的路径 .

    • 运行 android.bat

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

  • 6

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

  • 2

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

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

  • 179

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

    现在建议在Android Studio中执行手动SDK和AVD管理 . 但对于那些没有Android Studio的用户或那些不想仅仅为了执行SDK管理而打开Android Studio的用户,您仍然可以使用命令行工具 "tools/bin/sdkmanager.bat""tools/bin/avdmanager.bat" 来管理SDK .

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

  • 1

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

    在Android SDK的根目录中

    • SDK Manager.exe .
      安卓SDK的 sdk\tools\lib 中的
    • SDK Manager.exe .
      Eclipse中的
    • Window -> Android SDK Manager 菜单
      安卓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
    

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

    SO ,在我的案例中的解决方法是:

    • 卸载所有版本的Java

    • 安装JDK

    • 您可以使用32位Android SDK并安装32位JDK

    • 或者使用64位Android SDK并安装64位JDK

    • 但是JDK的"bitness"应该与Android SDK相匹配 . 看起来32位或64位中的任何一个都可以在64位计算机上运行,因为JDK位数与Android SDK位数相匹配 .

    • 编辑“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 Manager.exe 文件)成功运行SDK Manager .

  • 1

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

    资料来源:Is GUI for Android SDK manager gone?

  • 1

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

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

    那应该解决问题:)

  • 263

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

  • 0

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

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

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

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

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

  • 1

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

    我跑了 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配置,所以我去了我的虚拟设备,一切都开始工作了! (对于Windows用户, C:\Users\YourUser\.android\avd 中的文件)

  • 0

    我遇到了同样的问题,终于设法解决了 . 然后,我创建了一个包含通用修补程序的分步指南,以帮助所有开发人员尽快解决此问题: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:> Users> [user-name]> .android中的.android文件夹

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

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

    ORIGINAL

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

    MODIFIED

    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路径目录,如前所述 .

    ORIGINAL

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

    MODIFIED

    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位,那么请设置swt_path = lib \ x86_64,否则如果它是32位则保持为设置swt_path = lib \ x86

    • 完成!从android.bat文件或eclipse启动android sdk . 应该打开就好了!
  • 0

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

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

    尽管它是一个旧线程,但作为信息共享此信息 .

  • 0

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

    在我的情况下,我只是用旧的android sdk中的 tools 文件夹替换了android sdk的 tools 文件夹 . 这降低了android sdk工具,但现在我可以使用 SDK Manager.exe 打开sdk管理器 .

  • 15

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

  • 4

    一直试图让sdk管理器运行一段时间跟随各种线程我可以找到类似的问题 .

    以上所有建议都很好 .

    另一个要考虑的是将android sdk移动到其名称中没有空格的目录 .

    例如在我的情况下它位于:e:\ Program Files(x86)\ Android \ android-sdk \

    并会失败 . 搬到时:

    C:\ android_sdk_sucks \

    有效 .

    希望有所帮助 .

  • 3

    同样的问题,我尝试了所有解决方案,但没有任何效果然后我进入 C:\Users\User_name 并删除了".android"文件夹,然后SDK Manager可以正常打开,并自动创建其他".android"文件夹 .

  • 9

    之前我尝试了所有最流行的解决方案,没有人为我工作,直到我意识到Android SDK文件夹不能有任何空格,所以我将它从“C:\ Android SDK”更改为“C:\ Android_SDK” . 就如此容易 .

  • 18

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

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

    2) Add exactly this two strings

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

    instead of this

    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启动 .

  • 0

    http://tools.android.com/knownissues已知问题无法运行SDK Manager(已损坏的find_java.bat)

    http://tools.android.com/knownissues/find_java.zip?attredirects=0&d=1

  • 8

    看起来没有机构在一段时间内更新了这个帖子 . 但我刚刚解决了这个问题,并认为我会提供我的解决方案 . 我为mac安装了AndroidStudio . 我无法通过ide访问sdk管理器 . 事实证明我必须设置我的JAVA_HOME环境变量 . 一旦我得到了这个设置,我就可以启动了sdk经理 .

  • 2

    我已经解决了这个问题 . 如果您无法从资源管理器中打开"SDK Manager.exe",或者您遇到SDK Manager的任何问题 .

    首先检查环境变量中给出的Java路径 . (在CMD上运行Java命令,或以管理员身份在CMD上运行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\ ,因此将使用SDK的所有内容提取新的 tools 文件夹 . 现在打开 SDK Manager.exe . 如果它打开你的问题就解决了 . 请注意,SDK Manager.exe是一个启动 Android\Sdk\tools\bin\sdkmanager.bat 的启动器文件 . 如果您对答案感到满意,请Upvote以便最多用户解决问题 . 如需进一步帮助,请访问此页https://answers.unity.com/questions/1320150/unable-to-list-target-platform.html

  • 2

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

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

    -混乱的

  • 0

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

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

    希望这可以帮助 .

  • 1

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

  • 14

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

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

    重启我的电脑,现在我可以双击应用程序并运行SDK Manager . 希望有所帮助:)

  • 5

    它对我有用:)


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

    • 引入一个名为JAVA_HOME的新“系统变量”,其值为:C:\ Program Files \ Java \ jdk1.7.0_51
    • 右键单击SDK Manager.exe - >以管理员身份运行

    检查清单:

    • 确保系统变量'Path'中的java路径类似于:C:\ Program Files \ Java \ jdk1.7.0_51 \ bin

    • 文件夹名称中没有空格,用C:\ Android_SDK替换C:\ Android SDK之类的内容

    • 您可以在命令行中使用'where java'命令找到您的java

  • 13

    我有同样的问题,但过了一段时间后,其中三个出现,因为我点击了3次 . 等一下,也许你没有问题 .

  • 0

    我看到了通过在 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 .

相关问题