SDK Manager.exe不起作用

时间:2011-06-04 02:53:06

标签: java android environment-variables

当我在程序文件上单击SDK Manager或在cmd中运行它时,没有任何反应。我做了:

  1. 安装最新的JDK
  2. 安装了最新的Android SDK
  3. 设置环境JAVA_HOME并将%JAVA_HOME%\ bin放入路径变量**
  4. 实际上会出现一个黑色的cmd窗口并消失一毫秒。

    如何解决?

    修改

    我一天一天用Google搜索,但找不到解决方法。即使我为ANDROID_SWT设置路径也无法运行。我怀疑Android SDK在其安装包中存在错误。

    我已经筋疲力尽,这是我的最后一次尝试:

    1. 卸载JDK,Android SDK,删除所有ANDROID或JAVA环境变量
    2. 重新安装JDK和Android SDK
    3. 但没有任何改变。

      修改

      实际上这是我第二次遇到这个问题。我在为Ant和Maven添加了更多环境变量之后才遇到这个问题。这是摘要:

      安装Windows XP SP3 - >安装JDK - >安装Android SDK - >打开SDK Manager,它的工作原理! - >在“路径”变量中追加Ant和Maven的更多“bin”路径 - >打开SDK Manager,它不会打开 - >我通过删除所有环境变量回滚 - > SDK Manager仍无法打开!那太奇怪了! - >我重新安装JDK和Android SDK时很奇怪,它仍然无法打开! :(

25 个答案:

答案 0 :(得分:50)

步骤1:打开命令提示符。

步骤2:使用cd命令移至安装Android SDK的任何位置。

步骤3:运行tools\android

如果这不起作用,您应该将信息转储到命令提示符,以帮助您诊断设置问题。

答案 1 :(得分:13)

我收到错误“C:\ Program不被识别为内部或外部命令” 随后是“无法复制文件”的负载 接着是关于无法找到Android_SWT的东西。

我在系统上修复问题的方法(Windows 8,64位,JDK 7)是:

  1. 创建JAVA_HOME环境变量并将其指向C:\ Program Files \ Java \ jdk1.7.0_10 \ bin
  2. 在您喜欢的文字编辑器中打开ANDROID SDK DIRECTORY\tools\android.bat
  3. 找到行集java_exe= call lib\find_java.bat(它分为2行)
  4. 用集java_exe="%JAVA_HOME%\java.exe"
  5. 替换行
  6. 保存并运行tools\android.bat
  7. 问题是路径中的空间没有得到正确处理。通过将路径包装在引号中,然后正确地为空间提供空间。

答案 2 :(得分:10)

我遇到了同样的问题。

当我运行\ tools \ android.bat时,我得到了异常: 线程main

中的异常
 java.lang.NoClassDefFoundError: com/android/sdkmanager/Main

我的解决方法:

  1. 修改\tools\android.bat
  2. 找到"%jar_path%;%swt_path%\swt.jar"
  3. 修改为"%tools_dir%\%jar_path%;%tools_dir%\%swt_path%\swt.jar"
  4. 保存,然后再次运行SDK Manager.exe

答案 3 :(得分:7)

经过大量的搜索和尝试不同的方法,我找到了问题的解决方案:SDK管理器找不到我的个人资料目录。设置环境变量ANDROID_SDK_HOME后(我将其设置为新创建的文件夹C:\ Android),SDK经理开始没有问题。

答案 4 :(得分:5)

我有Wondows 7 64位(MacBook Pro),在安装Android SDK期间安装了Java JDK x86和x64,JAVA_HOME指向x32,稍后安装JAVA_HOME指向x64。

我的问题是Android SDK管理器没有启动,cmd窗口只是闪烁了一秒钟就是这样。像许多其他人一样环顾四周,尝试了许多没有果汁的建议!

我的解决方案是添加JAVA_HOME路径:

  

C:\ Program Files \ Java \ jdk1.7.0_09 \ bin

而不是我在开始时输入的内容:

  

C:\ Program Files \ Java \ jdk1.7.0_09

希望这有助于其他人......祝你好运!

答案 5 :(得分:2)

我的问题是Windows 7上的以下错误:

C:\dev\Android\android-sdk-windows\tools>android
[INFO] Starting Android SDK and AVD Manager
No command line parameters provided, launching UI.
See 'android --help' for operations from the command line.
Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-win32-3550 or
swt-win32 in swt.library.path, java.library.path or the jar file
        at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
        at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
        at org.eclipse.swt.internal.C.<clinit>(Unknown Source)
        at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
        at com.android.sdkmanager.Main.showMainWindow(Main.java:292)
        at com.android.sdkmanager.Main.doAction(Main.java:276)
        at com.android.sdkmanager.Main.run(Main.java:99)
    at com.android.sdkmanager.Main.main(Main.java:88)

解决方案是禁用McAfee 8.8。显然,最近的一些更新现在阻止了我的Android环境。

答案 6 :(得分:2)

我解决了在sdk/tools内打开android.bat并设置java_exe属性的问题,该属性为空。

set java_exe="C:\Program Files\Java\jre6\bin\java"

答案 7 :(得分:2)

我遇到了这个问题:我收到了错误

C:\projects\Android\android-sdk-windows-1.5_r1\tools\lib>ddms
02:03:07 E/ddms: shutting down due to uncaught exception
02:03:07 E/ddms: no swt-win32-3550 or swt-win32 in swt.library.path, java.library.path or the jar file
java.lang.UnsatisfiedLinkError: no swt-win32-3550 or swt-win32 in swt.library.path, java.library.path or the j
ar file
        at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
        at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
        at org.eclipse.swt.internal.C.<clinit>(Unknown Source)
        at org.eclipse.swt.graphics.FontData.<init>(Unknown Source)
        at com.android.ddms.PrefsDialog.setDefaults(PrefsDialog.java:221)
        at com.android.ddms.PrefsDialog.init(PrefsDialog.java:150)
        at com.android.ddms.Main.main(Main.java:74)

我通过将eclipse中的swt文件复制到tools目录来解决这个问题。如果你在安装Eclipse的目录中搜索有一个SWT dll,名为swt-win32-<4-digits>.dll(我的名字叫swt-win32-3740.dll):我把它复制到tools目录中,之后一切正常。< / p>

答案 8 :(得分:2)

我解决你的最后一个问题的方法是右键单击android.bat文件,然后用notepad ++选择编辑。然后我去了程序中有这段代码的部分:

cd / d%~dp0

这也是其他一些代码行,但我删除了它们。删除这些其他行后,我只是写了(在cd / d%~dp0下):

cd Program Files

cd java

cd jdk1.7.0_03

cd bin

我不知道你在这里找到java.exe文件,但是我的文件位于那里。

答案 9 :(得分:2)

类似于sixty9,在创建JAVA_HOME环境变量并添加了路径变量之后,我重命名了java.exe,javaw.exe,javaws.exe(我在排除故障时从不删除文件)。

我在D:\驱动器上安装了Java SDK(而不是默认设置)。

  1. 创建一个JAVA_HOME变量:变量名称: %JAVA_HOME% 值: D:\Program Files\Java.

  2. 路径变量中添加以下内容:

    %JAVA_HOME%\jre7\bin;%JAVA_HOME%\jdk1.7.0_03\bin;
    
  3. 重命名为java.exejavaw.exejavaws.exe

  4. 重新启动系统,Android SDK安装程序找到了我的JDK并成功安装。

答案 10 :(得分:1)

最后得到了这个蹩脚的SDK。

在64位Windows系统上安装32位Java时,将ANDROID_SWT设置为e:\ android-sdk \ tools \ lib \ x86

不.. \ x86_64

亲爱的Android SDK团队,

我真的希望对这些问题给予认真关注。 SDK应该毫不费力地设置。这就是您将客户丢失到其他平台的方式,而这种平台只需一次点击即可。

我打算购买另一个Android设备来测试我的游戏,但是在过去2天试图遍历你的无能迷宫后,我想我会坚持使用iOS作为我的主要开发目标。

答案 11 :(得分:1)

没有一个解决方案适合我

只需打开sdk/tools/

即可

修改android.bat

替换set java_exe="C:\Program Files\Java\jdk1.7.0_13\bin\java.exe" //您的java路径

如果sdk manageravd不在tools/lib基本文件夹

中,则复制sdk/和{{1}}

答案 12 :(得分:1)

我解决了这个问题,在C:\ Program Files中手动安装Windows 7 64位上的ADT(4.2 / api 17)软件包之后,这个问题出现了。

我必须采取的步骤:

  1. JAVA_HOME环境变量设置为(64位)JDK的安装目录,在我的情况下为C:\Program Files\Java\jdk1.7.0_11
  2. 至少以管理员身份运行SDK Manager一次。 SDK Manager允许您更改Program Files中的文件,因此您应该为其提供适当的访问权限。

答案 13 :(得分:1)

我最终在2次破坏之后彻底改变了这种工作!如果我遇到一个安卓SDK开发人员,我将无法用他自己的键盘死亡

无论如何,有关使其在Windows 7 64位上工作的提示......

我怀疑我这是多个问题,因为没有任何建议有效,所以我会列出我做的所有事情,最终让它工作

1)安装 32 BIT 版本的Java JDK(是的,即使您运行的是64位Windows)

2)将SDK和JDK安装到没有空格的路径中(我使用C:\ Android和C:\ Java32)

3)在Windows环境变量屏幕(系统属性&gt;高级设置&gt; Env vars)中,您可以输入两个位置,即“用户变量”和“系统变量”。我把它们放在两者中并包括两个中的“bin”位。

  

JAVA_HOME = C:\ Java32 \ jdk1.8.0_20 \ bin

     

路径= C:\ Java32 \ jdk1.8.0_20 \ bin; 其他路径应该在jdk之后 ......

4)编辑文件tools \ android.bat并查找以下内容:

  

设置java_exe =

     

调用lib \ find_java.bat

将其更改为:

  

设置java_exe = “C:\ Java32 \ jdk1.8.0_20 \ bin \ java.exe”

     

rem 调用lib \ find_java.bat

您也可以将“@echo off”置于文件顶部的“@echo on”以进行调试

祝你好运!

答案 14 :(得分:1)

如果tools\android适用于您,而.exe没有,则可能是x64 java。

当我完全卸载带有JRE的JDK(在Windows卸载控制面板小程序中显示为单独选项)和android sdk并使用x86版本重新安装时,它开始工作。

为什么值得花时间,你可能会问?嗯,这样的不一致显然意味着使用x64 java的测试数量为零,因此您将来可能会遇到许多其他失败。

答案 15 :(得分:1)

我添加了新的环境变量“ANDROID_SDK_HOME”并设置它,就像我的android SDK文件夹路径(c:/ Android)一样,它的工作正常!

答案 16 :(得分:0)

我有同样的问题!

我已经安装了64位ADT软件包,所以我下载了Java 64位。我弄乱了路径和东西,但最终修复它的是安装Java 32位。

简单的解决方法是安装两个版本。您可以手动下载here

祝你好运!

答案 17 :(得分:0)

我通过在Program Files中重新安装来修复此问题,它最初尝试将其安装在c:/Users/.../AppData/Android/...中。

我是由用户权限问题引起的,管理员似乎没有修复(也许是因为他们调用了批处理文件?)。

答案 18 :(得分:0)

  

当我在Program Files上单击SDK Manager或在cmd中运行它时,没有任何反应

您遇到的一个问题是Windows中的长文件名。许多Android工具无法处理它们。几年前我提交了一份关于它们的错误报告,但我现在找不到它。我似乎也在INSTALL或README中回忆起它。

因此,您应该将工具安装在的位置,而不用空格。使用类似C:\Android\C:\Android-SDK\的内容。

@Steve和@MeatPopsicle已经提到了pathames中的空格,但不能过分夸大。


  

实际上会出现一个黑色的cmd窗口并消失一毫秒   ...   甚至我为ANDROID_SWT设置路径

出于好奇,ANDROID_SWT来自哪里?

我知道Android 使用ANDROID_HOMEANDROID_SDK_ROOTANDROID_NDK_ROOT,最后两个都应该设置,因为工具在内部使用它们。以下是ANDROID_SDK_ROOTANDROID_NDK_ROOTRecommended NDK Directory?的参考资料。

所以你应该设置三个环境变量(在确保安装目录不包含空格之后):

  • ANDROID_HOME
  • ANDROID_SDK_ROOT
  • ANDROID_NDK_ROOT

ANDROID_HOME设置为隐藏目录.android所在的目录。

ANDROID_SDK_ROOT设置为安装SDK的目录,例如C:\Android-SDK\

ANDROID_NDK_ROOT设置为安装NDK的目录,如C:\Android-NDK\。如果未安装,则不要设置它。


设置ANDROID_SDK_ROOT后,您可以将%ANDROID_SDK_ROOT%\tools%ANDROID_SDK_ROOT%\platform-tools放在PATH上。然后,您可以进入命令行并发出类似这样的内容(它只是起作用):

adb list

答案 19 :(得分:0)

find_java.exe似乎不喜欢openjdk的“ java -version”输出。我这样编辑find_java.bat:

for /f %%a in ('%~dps0\find_java.exe -s') do set java_exe=%%a
set java_exe="C:\Program Files (x86)\AdoptOpenJDK\jdk-8.0.242.08-hotspot\bin\java.exe"

rem ...

for /f %%a in ('%~dps0\find_java.exe -s -w') do set javaw_exe=%%a
set javaw_exe="C:\Program Files (x86)\AdoptOpenJDK\jdk-8.0.242.08-hotspot\bin\javaw.exe"

答案 20 :(得分:0)

安装adt-bundle-windows-x86_64-20130717.zip后,我在Windows 7 64位上遇到了UnsatisfiedLinkError:

 Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-win32-3550 or swt-win32 in swt.library.path, java.library.path or the jar file

根本原因是McAfee具有阻止从临时目录加载DLL的功能。这是一个问题,因为android.bat将一堆JAR和DLL文件复制到一个临时目录并从那里运行程序,以便于就地升级应用程序。

但是,可以禁用此功能。您可以完全禁用“访问保护”,也可以仅禁用阻止从临时文件夹加载DLL的功能。

Screenshot showing the McAfee UI where access protection can be disabled Screenshot showing the McAfee UI where you can disable the feature where it blocks loading DLLs from the temp directory

答案 21 :(得分:0)

我做的是:

在顶部用户部分设置新的环境变量。

变量名称:JAVA_HOME VARIABLE VALUE:将其设置为最新JDK的安装目录。

对我而言,C:\Program Files\Java\jdk1.7.0_13。以管理员身份运行SDK Manager至少一次。我使用Windows 7.经过大量研究后,这种方法对我有用。

我不明白在命令提示符中使用'where java'时它仍然引用C:\Windows\System32\java.exe。我的SDK Manager现在在我需要时打开,所以我解决了我的问题。

答案 22 :(得分:0)

我遇到了同样的问题,在尝试了各种各样的事情,比如改变路径变量后,我随心所欲地去了java.com,下载了java,安装了,然后看到sdk经理在那之后工作了。

答案 23 :(得分:0)

我遇到了同样的问题,正在运行X64 Java (1.7.0_03-b05)。即使我的路径中列出了C:\Program Files\Java\jre7\binC:\Program Files\Java\jdk1.7.0_03\bin,但它也无法启动 - 只是闪现命令提示符。

tools\lib\find_java.bat文件报告它正在尝试运行C:\Windows\system32\java.exe但失败了。咦?我检查了一下,在我的java.exe中找到了javaw.exejavaws.exeC:\Windows\system32的过期副本。那些人是怎么到那里的,我没有把它们放在那里!

我从C:\Windows\system32删除了这三个文件,问题已修复。

考虑到这一点,可以通过确保C:\Program Files\Java\jre7\binC:\Program Files\Java\jdk1.7.0_03\bin位于我的PATH变量的START而不是结束时来解决问题。

答案 24 :(得分:0)

遇到同样的问题并尝试了我在几个论坛中浏览的所有内容,直到找到了线索,然后终于解决了问题。

基本上我安装了SDK并且工作正常,然后我的Windows Vista崩溃,重新启动时我再次运行SDK但它只打开了一个立即关闭的CMD窗口。

所以这里列出了我做过的无用的事情:

  • 去CMD“d:/ java / android / tool”并执行“android.bat”,没有工作并显示指针异常错误。
  • 重新安装了整个JDK + SDK
  • 将系统路径更改为新文件夹
  • 我跟踪并删除了Regedit上的所有Android事件

此时我正在认真考虑开始学习目标-c不是一个坏主意,最后我这样做了:

  • 从“c:/ users / youruser /”
  • 中删除“.android”文件夹
  • 删除“c:/ users / youruser / AppData / Local / Temp”
  • 中的所有文件
  • 重新安装SDK

它工作了!!我不确定是否有必要卸载SDK(因为我再次下载所有软件包和平台)并只清除临时文件夹。

希望这会有所帮助。