"Android update 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)

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

5 74

5 ответов:

обновление Android SDK без головы и автоматически описано в есть-есть-есть-путь-к-автоматизации-на-Андроид-СДК-установка

можно использовать :

android update sdk --no-ui

если вы хотите автоматизировать его, вы можете принять все лицензии с помощью expect инструмент с этим Хак (the --accept-license опция в настоящее время не полностью интегрирована в ):

expect -c '
set timeout -1;
spawn android - update sdk --no-ui;
expect {
    "Do you accept the license" { exp_send "y\r" ; exp_continue }
    eof
}
'

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

первый-это cop-out: загрузите платформы на головной системе и просто скопируйте подкаталоги платформы в свой Android sdk/platforms dir.

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

загрузка для систем linux - это их Android 1.5 r3. Конечно, страницы загрузки sdk google не являются дружественными к lynx, поэтому мне пришлось получить прямую ссылку из другой системы GUI.

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

тогда это просто вопрос распаковки архива и перемещения платформы sibdirs в ваш новый SDK platform dir.

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

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

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

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

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

надеюсь, что это помогает!

Да, это работает, но вам нужны установленные библиотеки GUI, и вам нужно, чтобы ваш дисплей был установлен на какой X-сервер вы хотите, чтобы он отображался. Я теперь работаю на CentOS 5.4 и должен был использовать опцию установки "Server - GUI" verse "Server". Затем я просто использую "ssh-X" из системы, где я хочу, чтобы он отображался.

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

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

, пожалуйста, перейдите сюда для более подробной информации:

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