Компиляция Android .apk на Linux Server - PullRequest
2 голосов
/ 20 апреля 2011

Я хочу иметь возможность создавать файлы .apk программно для проектов Android (папки, файлы .java, .xml и т. Д.) С помощью ant на моем сервере Ubuntu 10.04 i386.Я не использую Eclipse или даже графический интерфейс.

1) Я уже следовал этим инструкциям: http://source.android.com/source/initializing.html

2) Я загрузил / распаковал Android Linux SDK здесь: http://developer.android.com/sdk/index.html

3) Теперь, когда я перехожу на /home/myusername/www/android-sdk-linux_x86/tools и набираю ./android, я получаю эту ошибку:

myusername@myserver:~/www/android-sdk-linux_x86/tools$ ./android
Starting Android SDK and AVD Manager
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.sdkmanager.Main.showMainWindow(Main.java:297)
    at com.android.sdkmanager.Main.doAction(Main.java:281)
    at com.android.sdkmanager.Main.run(Main.java:99)
    at com.android.sdkmanager.Main.main(Main.java:88)

Есть идеи о том, что идет не так?

Ответы [ 4 ]

2 голосов
/ 20 апреля 2011

Когда вы запускаете двоичный файл ./android без аргументов, он пытается открыть окно графического интерфейса.

Судя по выводу, который вы представили, бинарный файл ./android работает отлично, но, так как вы используете сервер без монитора, он падает.

Вот шаги командной строки для сборки Android .apk:

  1. android create project --name ExampleProj --activity ExampleProj --path ./ --package com.example.project --target 2
  2. ant debug

Это создаст ExampleProj-debug.apk .

Отличным источником справки является аргумент - help двоичного файла ./android в сочетании с действием, которое вы хотите выполнить. Например:

android --help create project

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

2 голосов
/ 20 апреля 2011

Если вы ожидаете запустить безголовый андроид, введите некоторые параметры командной строки, например - help .

Однако, если это не ваше намерение и вы хотите использовать свой дисплей дляграфический пользовательский интерфейс show android использует ssh -X для включения пересылки X11, установите libswt-gtk-3.5-java и установите для ANDROID_SWT значение /usr/lib/java.

1 голос
/ 01 октября 2011

Благодаря dtmilano мне удалось найти решение.Во-первых, если не установлено, установите libswt-gtk-3.5-java, если на компьютере с Debian, SWT, если на archlinux.Если на машине с i686 введите в терминале:

export ANDROID_SWT=path-to-android-sdk/tools/lib/x86

Если на x86_64 (вам могут понадобиться дополнительные 32-битные библиотеки, я не знаю)

export ANDROID_SWT=path-to-android-sdk/tools/lib/x86_64

Тогда android будет работатьЕсли вы хотите сделать это постоянным, один простой способ - поместить строку выше в ваш ~ / .bashrc.После входа / выхода изменение будет постоянным:)

0 голосов
/ 20 апреля 2011

Также - мои извинения, я вырыл немного глубже и нашел очень похожую тему здесь: «Обновление Android SDK» на Linux без головы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...