android: Exception in org.eclipse.swt.SWTError: Nicht mehr verarbeitet [gtk_init_check() failed]
Ich versuche zum einrichten einer Umgebung, in der ich das entwickeln von android-apps auf Ubuntu server 13.04. Daher kann ich nur die Befehlszeile verwenden.
Wenn ich android
, nur um zu überprüfen, ob es funktioniert, ich bekomme die Meldung:
Exception in thread "main" org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.widgets.Display.createDisplay(Unknown Source)
at org.eclipse.swt.widgets.Display.create(Unknown Source)
at org.eclipse.swt.graphics.Device.<init>(Unknown Source)
at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
at org.eclipse.swt.widgets.Display.getDefault(Unknown Source)
at org.eclipse.swt.widgets.Shell.<init>(Unknown Source)
at org.eclipse.swt.widgets.Shell.<init>(Unknown Source)
at com.android.sdkuilib.internal.repository.ui.SdkUpdaterWindowImpl2.createShell(SdkUpdaterWindowImpl2.java:168)
at com.android.sdkuilib.internal.repository.ui.SdkUpdaterWindowImpl2.open(SdkUpdaterWindowImpl2.java:137)
at com.android.sdkuilib.repository.SdkUpdaterWindow.open(SdkUpdaterWindow.java:111)
at com.android.sdkmanager.Main.showSdkManagerWindow(Main.java:356)
at com.android.sdkmanager.Main.doAction(Main.java:334)
at com.android.sdkmanager.Main.run(Main.java:120)
at com.android.sdkmanager.Main.main(Main.java:103)
Was ich bisher getan habe:
apt-get install ant
- Heruntergeladen, das "ADT-bundle" von http://developer.android.com/sdk/index.html
- Entpackt es in meinem home-Verzeichnis
/home/camilstaps
- Hinzugefügt
/home/camilstaps/adt-bundle-linux/tools
zu meinemPATH
Umgebungsvariable
Was kann ich tun, um dieses Problem zu lösen Ausnahme?
Auch die damit verbundenen (nicht-Ausnahme auftreten, aber weitere details über die Installation von der Kommandozeile): stackoverflow.com/questions/10941549/...
InformationsquelleAutor Keelan | 2013-06-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aktualisieren können Sie die sdk von der Befehl-Linie mit der
-u
(kein UI) - option.InformationsquelleAutor Caleb Fenton
Das problem hier war, dass
android
versucht, öffnen Sie eine grafische Anzeige, die es nicht konnte.android
einfach nicht runned auf einem server ohne grafische Bildschirm.Jedoch mit einigen Parametern,
android
kann verwendet werden. Zum Beispiel, sehen Sie hier:su username
(die hat keine Sitzung mit dem GDM und daher keineDISPLAY
unterX
). könnte mir vorstellen, dass es vielleicht doch noch arbeiten -, während die Zuordnung der Anzeige zum Ausgang, vor dem ausführen./android
.Sie könnten versuchen, zu verwenden
sudo -E -u username
, dann halten Sie Ihre eigene Umgebung.denke, dass
export DISPLAY=:0
oderexport DISPLAY=:0.0
sollten wählen Sie die erste verfügbare display, während es laufendeX11
(gdm) Sitzung. man kann auch auswählen, VNC zeigt wie, dass, wenn Sie laufen kopflos.die Antwort hier wird erläutert, wie die Authentifizierung der display: unix.stackexchange.com/a/180585/110101; der Zustand
ForwardX11 yes
sollte auch relevant sein, erhalten alle gültigen-display für die Ausgabe... gerade festgestellt, dass die./android
Befehl hatte, veraltet mittlerweile, es isttools/bin/sdkmanager
jetzt.hmm, dann scheint es, Sie wollen etwas anderes zu tun, als das, was diese Frage betrifft. Ich wollte die
android
Befehl ohne GUI.InformationsquelleAutor Keelan
Wenn Sie möchten, führen Sie die Android-IDE (die Eclipse), Sie gehen zu müssen, um einen X-server zur Anzeige auf. Ich würde empfehlen, nicht zu versuchen, das entwickeln von Android-apps auf einem headless-server, wie Sie gehen zu müssen, um eine Anzeige für die IDE, und führen Sie Ihre app im emulator, so dass Sie es testen kann, ohne zu blinken auf ein Gerät jedes mal, wenn Sie etwas ändern.
Wenn Sie möchten, die app zu entwickeln ohne X-display -, sind Sie gehen zu müssen, alles zu tun, von hand, die die IDE würde normalerweise für Sie tun, und verwenden Sie einen editor, der nicht erforderlich ist X, wie
vim
oderemacs
.InformationsquelleAutor dobey
Wenn Sie ssh -X in der box, und starten Sie android, es sollte xserver auf Ihrem Rechner. Manchmal muss ich eine andere Anwendung starten, z.B. Firefox, um die X arbeiten, bevor ich die android.
InformationsquelleAutor Mayuresh
Es sieht aus wie ein Alter Fehler in eclipse. Es wurde im Zusammenhang mit der JavaVM, die Sie könnten versuchen, ein anderes VM, wenn Sie ausschließen können, dass das Problem mit der X-Umgebung.
InformationsquelleAutor Philippe