如何在Windows 7上运行“android.bat sdk”

7

我已经下载并安装了Android SDK,并尝试启动android.bat sdk,但是遇到了以下异常:

C:\products\Android\tools>android.bat sdk
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.showSdkManagerWindow(Main.java:328)
        at com.android.sdkmanager.Main.doAction(Main.java:302)
        at com.android.sdkmanager.Main.run(Main.java:118)
        at com.android.sdkmanager.Main.main(Main.java:101)

我已经搜索了很长时间,但是无法使它工作。是否有任何东西我需要先设置?

6个回答

4
这对我很有用: 在您的android.bat文件中添加以下内容:
 -Dswt.library.path = {swt.jar folder path} 

在这个短语之前:

com.android.manager.Main

运行android.bat文件


4

如果这个问题仍然困扰着你:我曾经也遇到过同样的问题。最终我做了以下几步:

  1. 查找 swt.jar 文件(在 Android SDK 目录下,查看 tools\lib\x86 或 tools\lib\x86_64 文件夹)。
  2. 使用 jar 工具对其进行解压:

    mkdir tmp

    cd tmp

    jar xf <path>\tools\lib\x86\swt.jar

  3. 将 dll 文件复制到 tools 文件夹中。

    copy tmp\*.dll <path>\tools

完成以上步骤后,就可以运行 SDK 管理器了。


谢谢,你救了我的命。我在谷歌上尝试了很多选项,但最终你的解决方案起作用了。非常感谢你。 - Yog Guru

0

我认为JAR文件没有放在正确的位置。

SWT由两个“部分”组成 - 平台无关的仅Java部分和平台相关的片段。您是否也添加了平台相关的片段?
因此,您需要这样做。

org.eclipse.swt_VERSION.jar

org.eclipse.swt_WINDOWSYSTEM_PLATFORM_VERSION.jar

请参考此链接设置类path

使用Eclipse进行SWT编程。


0

更改swt.jar的路径。

  1. 编辑“[您的sdk_path]\tools\android.bat”文件。
  2. 查找“%Swt_path%\swt.jar”这些字词。
  3. 找到您的Eclipse插件文件夹路径。
  4. 将路径替换为[your eclipse\plugins\swt.jar]。

例如

  • 之前 classpath "% jar_path%;% swt_path%\swt.jar"
  • 之后 classpath "% jar_path%; C:\eclipse\plugins\ org.eclipse.swt.win32.win32.x86_3.102.1.v20130827-2048.jar"

我希望这能帮助解决问题。


0

这个问题是相当古老的,但我今天遇到了同样的问题,就像在2015年一样。 而且我预期答案可能不适用于我,但指导我无需以管理员身份运行即可使其运行,特别是“Mehdi golnari”答案。

根据Mehdi的答案,我们需要添加他添加的相同参数,但更新为适用于新的SDK工具(或Android SDK)。我的版本是24.3.3修订版SDK,所以com.android.manager.Main将不再适用于我,而是需要使用com.android.sdkmanager.Main。 此外,我们可以使用在同一个批处理文件之前设置的变量:%swt_path%

因此,在android.bat文件的末尾添加以下内容:

"-Dswt.library.path=%swt_path%"

生成的调用代码应该是一个单行,形如:

call "%java_exe% %REMOTE_DEBUG%" "-Dcom.android.sdkmanager.toolsdir=%tools_dir%" "-Dcom.android.sdkmanager.workdir=%work_dir%" -classpath "%jar_path%;%swt_path%\swt.jar" "-Dswt.library.path=%swt_path%" com.android.sdkmanager.Main %*

这应该有助于运行 android.batSDK Manager.exeAVD Manager.exe,无需以管理员身份运行。


0

当我试图从eclipse中加载sdk管理器时,控制台显示了相同的消息。要解决此问题,您只需要以管理员身份运行eclipse即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接