Как запустить "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)

Я долго искал решение, но я не могу заставить его работать. Есть ли что-то, что я должен настроить первым?

Ответ 1

На всякий случай это все равно беспокоит любого: у меня была такая же проблема. То, что я закончил, было:

  • Поиск файла swt.jar(в каталоге Android SDK, посмотрите инструменты \lib\x86 или tools\lib\x86_64).
  • Распакуйте его с помощью jar:

    mkdir tmp

    cd tmp

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

  • Скопируйте dll в папку tools.

    copy tmp\*.dll <path>\tools

После этого мне удалось запустить диспетчер SDK.

Ответ 2

Это работает для меня: Добавьте в файл android.bat следующее:

 -Dswt.library.path = {swt.jar folder path} 

перед этой фразой:

com.android.manager.Main

Запустите файл android.bat

Ответ 3

Я думаю, что файл jar не помещен в правильное место.

SWT состоит из двух "частей" - независимой от платформы java-части и зависимый от платформы фрагмент. Вы добавили зависимую от платформы фрагмент тоже?
Итак, вам нужно

org.eclipse.swt_VERSION.jar

org.eclipse.swt_WINDOWSYSTEM_PLATFORM_VERSION.jar

Обратитесь к этой ссылке для установки класса path.

Программирование SWT с Eclipse.

Ответ 4

Вам нужно установить ANDROID_SWT в $ANDROID_SDK_PATH\tools\lib\x86 или $ANDROID_SDK_PATH\tools\lib\x86_64

$ANDROID_SDK_PATH - там, где вы установили Android SDK, он C:\products\Android в вашем случае.

Ответ 5

У меня было такое же сообщение, отображаемое на консоли eclipse, когда я пытался загрузить менеджер sdk из eclipse. Все, что вам нужно сделать, чтобы исправить это, запустило eclipse как администратор, и оно должно работать нормально

Ответ 6

Измените путь на swt.jar.

  • edit "[ваш файл sdk_path]\tools\android.bat".
  • найти слова "% Swt_path%\swt.jar"
  • Найдите путь к папке плагина Eclipse.
  • заменить путь на [ваш 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"

Я надеюсь, что это поможет решить проблему.

Ответ 7

Это вопрос его довольно старый, но я столкнулся с тем же вопросом, что и сегодня, в 2015 году. Также я ожидал, что ответы могут не сработать, но ориентированы на то, чтобы это выполнялось без необходимости запуска в качестве администратора, особенно для ответа "Mehdi golnari".

На основе ответа Mehdi нам нужно добавить тот же параметр, который он добавил, но обновлен для работы с новыми SDK Tools (или SDK для Android). Mine - это ревизия 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.bat, SDK Manager.exe и AVD Manager.exe без запуска в качестве необходимости администратора.