“андроид обновляет sdk” на бездисплейном Linux

Кто-либо преуспел в том, чтобы обновить/установить Android платформы SDK на бездисплейном сервере Linux? Все, что я получил, является следующей ошибкой:

Кажется, что действие "обновляет sdk", на самом деле не поддерживается?

~/android-sdk-linux_86/tools$ ./android --verbose update sdk
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-pi-gtk-3550 or swt-pi-gtk 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.gtk.OS.<clinit>(Unknown Source)
        at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
        at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
        at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
        at com.android.sdkuilib.internal.repository.UpdaterWindowImpl.open(UpdaterWindowImpl.java:93)
        at com.android.sdkuilib.repository.UpdaterWindow.open(UpdaterWindow.java:110)
        at com.android.sdkmanager.Main.showMainWindow(Main.java:281)
        at com.android.sdkmanager.Main.doAction(Main.java:251)
        at com.android.sdkmanager.Main.run(Main.java:92)
        at com.android.sdkmanager.Main.main(Main.java:81)

Обновление: вопрос задали только что, когда бездисплейное обновление не поддерживалось. Теперь возможно сделать просто a android update sdk --no-ui. Спасибо люди!

77
задан focuser 24 May 2012 в 17:08
поделиться

3 ответа

Да, это работает, но вам нужно установить библиотеки графического интерфейса и настроить ДИСПЛЕЙ на то, какой X-сервер вы хотите отображать. Сейчас он работает с CentOS 5.4, и мне пришлось использовать вариант установки «Сервер - графический интерфейс», стих «Сервер». Затем я просто использую "ssh -X" из системы, в которой я хочу его отображать.

3
ответ дан 24 November 2019 в 10:56
поделиться

Я столкнулся с той же проблемой. Однако я нашел обходной путь.

Первый - это отговорка: загрузите платформы в головную систему и просто скопируйте подкаталоги платформы в свой каталог android sdk / platform.

Если, как и я, у вас нет немедленного доступа к другой среде разработки Android, вы можете перейти к архивам SDK Google и загрузить один из других SDK, который включает эти платформы. Это означает, что вы можете разрабатывать только для Android 1.1 и 1.5.

Загрузите для Linux-систем их Android 1.5 r3. Конечно, страницы загрузки sdk Google не подходят для lynx, поэтому мне пришлось получить прямую ссылку из другой системы с графическим интерфейсом.

wget http://dl.google.com/android/archives/android-sdk-linux_x86-1.5_r3.zip

Затем нужно просто разархивировать архив и переместить родственные каталоги платформы в новый каталог платформы SDK.

android create avd -t 3 -p path/to/avd/dir -n "name"

Это создает AVD для платформы 1.5 с указанным вами именем и каталогом. Обратите внимание, что каталог avd не должен существовать. Если вы хотите перезаписать, добавьте к команде --force.

Заходя так далеко, мы установили платформу и создали AVD. К сожалению, попытка сборки на данный момент для меня не удалась, потому что я использую 64-битный сервер, а Google выпускает только 32-битные инструменты.

Я нашел решение для этого в принятом ответе на этот вопрос о переполнении стека и использовал sudo apt-get install ia32-libs , чтобы включить возможность запуска 32-битных инструментов.

Затем вы сможете использовать инструмент Android в интерфейсе командной строки для преобразования проекта eclipse (для 1.5 или ниже), чтобы иметь систему сборки муравьев, или вы можете создать новый проект, над которым вы начнете работать.

Надеюсь, это поможет!

7
ответ дан 24 November 2019 в 10:56
поделиться

Я только что создал небольшой инструмент командной строки, который выполняет обновление в любой среде (с графическим интерфейсом или без него). У меня не было возможности его всесторонне протестировать, но, насколько я могу судить, он делает то, что должен.

Инструмент командной строки обновляет предустановленный базовый Android SDK со всеми доступными в настоящее время платформами, надстройками, дополнениями, документацией, образцами и инструментами. Этого должно быть достаточно для сервера сборки (мне это нужно для моей установки Hudson CI с Maven).

Для получения дополнительных сведений перейдите сюда:

http://code.google.com/p/android-sdk-tool

3
ответ дан 24 November 2019 в 10:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: