“Android Update sdk” sur linux sans tête

Quelqu’un at-il réussi à mettre à jour / installer des plates-formes SDK Android sur un serveur Linux sans tête? Tout ce que j’ai est l’erreur suivante:

Il semble que l’action “update sdk” n’est en fait pas prise en charge?

~/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.(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.(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) 

Mise à jour : La question a été posée il y a quelque temps lorsque la mise à jour sans tête n’était pas prise en charge. Il est maintenant possible de faire juste une android update sdk --no-ui . Merci les gars!

La mise à jour du SDK Android sans tête et automatiquement est décrite dans l’ installation de is-y-a-way-to-automatate-and-sdk

Vous pouvez utiliser l’option --no-ui :

 android update sdk --no-ui 

Si vous souhaitez l’automatiser, vous pouvez accepter toutes les licences en utilisant l’outil --accept-license avec ce hack (l’option --accept-license n’est actuellement pas complètement intégrée à l’outil android ):

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

Je viens de rencontrer le même problème. J’ai trouvé une solution de contournement cependant.

Le premier est un déroutement: téléchargez les plates-formes sur un système dirigé et copiez simplement les sous-répertoires de la plate-forme dans votre répertoire Android sdk / platform.

Si, comme moi, vous n’avez pas immédiatement access à un autre environnement de développement Android, vous pouvez accéder aux archives du SDK de Google et télécharger l’un des autres SDK inclus dans les plates-formes. Cela signifie que vous ne pouvez développer que pour Android 1.1 et 1.5.

Le téléchargement à obtenir pour les systèmes Linux est leur Android 1.5 r3. Bien sûr, les pages de téléchargement de Google sdk ne sont pas compatibles avec le lynx, alors j’ai dû obtenir le lien direct d’un autre système graphique.

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

Il suffit ensuite de décompresser l’archive et de déplacer la plate-forme sibdirs vers le répertoire de votre nouvelle plate-forme SDK.

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

Cela crée un AVD pour la plate-forme 1.5 avec votre nom et votre répertoire spécifiés. Notez que le répertoire avd ne devrait pas exister. Si vous voulez écraser, ajoutez –force à la commande.

Pour aller aussi loin, une plate-forme est installée et crée un AVD. Malheureusement, essayer de construire a échoué à ce stade pour moi car je lance un serveur 64 bits, et Google ne publie que des outils 32 bits.

J’ai trouvé une solution à cela dans la réponse acceptée à cette question de stackoverflow et j’ai utilisé sudo apt-get install ia32-libs pour permettre d’exécuter les outils 32 bits.

Ensuite, vous devriez être capable d’utiliser l’outil Android sur l’interface de ligne de commande pour convertir un projet eclipse (pour 1,5 ou moins) afin d’avoir un système de génération ant ou vous pouvez créer un nouveau projet sur lequel vous allez travailler.

J’espère que cela t’aides!

Oui, cela fonctionne, mais vous avez besoin des bibliothèques d’interfaces graphiques installées et vous avez besoin de votre DISPLAY défini sur le serveur X que vous souhaitez afficher. Je l’ai maintenant sur CentOS 5.4 et j’ai dû utiliser l’option “Serveur – GUI” vers “Serveur”. Ensuite, j’utilise simplement “ssh -X” du système sur lequel je veux l’afficher.

Je viens de créer un petit outil en ligne de commande qui effectue la mise à jour dans n’importe quel environnement (interface graphique ou non). Je n’ai pas eu la chance de le tester à fond, mais pour autant que je sache, il fait ce qu’il faut.

L’outil de ligne de commande met à jour un SDK Android de base préinstallé avec toutes les plates-formes, compléments, extras, documents, échantillons et outils actuellement disponibles. Cela devrait suffire à un serveur de compilation (j’en ai besoin pour mon installation de Hudson CI avec Maven).

S’il vous plaît aller ici pour plus de détails:

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