我已经下载并安装了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)
我已经搜索了很长时间的解决方案,但我无法让它工作。我有什么需要先设置的吗?
答案 0 :(得分:4)
以防这仍然困扰着任何人:我遇到了同样的问题。我最终做的是:
使用jar解压缩它:
mkdir tmp
cd tmp
jar xf <path>\tools\lib\x86\swt.jar
将dll复制到tools
文件夹。
copy tmp\*.dll <path>\tools
之后我能够运行SDK管理器。
答案 1 :(得分:4)
这对我有用: 在android.bat文件中添加以下内容:
-Dswt.library.path = {swt.jar folder path}
在此短语之前:
com.android.manager.Main
运行android.bat
答案 2 :(得分:0)
我认为jar文件没有放在正确的位置。
SWT由两个“部分”组成 - 平台独立的仅Java部分
和平台相关的片段。您是否添加了平台依赖
片段呢?
所以你需要
org.eclipse.swt_VERSION.jar
org.eclipse.swt_WINDOWSYSTEM_PLATFORM_VERSION.jar
请参阅此链接以设置课程path。
答案 3 :(得分:0)
当我尝试从eclipse中加载sdk管理器时,我在eclipse控制台中显示了相同的消息。您需要做的就是修复它,以管理员身份运行eclipse,它应该可以正常工作
答案 4 :(得分:0)
将路径更改为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"
我希望这有助于解决问题。
答案 5 :(得分:0)
这问题相当陈旧,但我在2015年遇到的问题和今天一样。 此外,我希望答案可能不起作用,但让我在不需要以管理员身份运行的情况下运行,特别是“Mehdi golnari”的答案。
根据Mehdi的回答,我们需要添加他添加的相同参数,但更新后可以使用新的SDK工具(或Android SDK)。我的版本是修订版24.3.3,SDK,因此com.android.manager.Main
对我来说不再适用,但我们需要它com.android.sdkmanager.Main
。
我们也可以使用之前在同一个bat中设置的变量:%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.bat
,SDK Manager.exe
和AVD Manager.exe
而无需管理员需要运行。