我正在尝试设置一个可以在Ubuntu 服务器 13.04上开发Android应用程序的环境。因此,我只能使用命令行。
当我运行android
时,为了检查它是否正常工作,我得到:
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)
到目前为止我做了什么:
apt-get install ant
/home/camilstaps
/home/camilstaps/adt-bundle-linux/tools
环境变量PATH
我该怎么做才能解决这个例外?
答案 0 :(得分:16)
您可以使用-u
(无用户界面)选项从命令行更新sdk。
./android update sdk -u
答案 1 :(得分:5)
这里的问题是android
试图打开图形显示,但它不能。 android
根本无法在没有图形屏幕的服务器上运行。
但是,对于某些参数,可以使用android
。例如,请参阅here:
android create project \
--target <target_ID> \
--name <your_project_name> \
--path path/to/your/project \
--activity <your_activity_name> \
--package <your_package_namespace>
答案 2 :(得分:1)
如果您想运行Android IDE(即Eclipse),您将需要一台X服务器来显示它。我建议不要尝试在无头服务器上开发Android应用程序,因为您需要一个显示器来使用IDE,并在模拟器中运行您的应用程序,以便您可以测试它而无需将其刷新到设备每当你改变一些东西。
如果您想在没有X显示的情况下开发应用程序,那么您将不得不手动完成所有操作(IDE通常会为您执行此操作),并使用不需要X的编辑器,例如{ {1}}或vim
。
答案 3 :(得分:1)
如果你在框中输入-X并启动android,它应该在你的机器上使用xserver。有时我必须开始另一个应用,例如Firefox启动android之前让X工作。
答案 4 :(得分:0)
它看起来像是一个古老的臭虫。它与JavaVM相关,如果您可以排除该问题与X环境相关,则可以尝试使用另一个VM。
答案 5 :(得分:0)
就我而言,我尝试安装 GTK 包(使用 'sudo apt-get install'),但仍然反复出现错误。
要识别错误,请检查日志路径:/configuration/*.log
您会注意到错误日志中存在的堆栈跟踪强调了与显示相关的问题。 Eclipse 需要启动 X 服务器才能正确加载用户界面。默认情况下,root 用户不会启动 X-server。
因此我切换到另一个用户并且能够成功打开eclipse。
root@anotheruser:/eclipse/configuration# exit
logout
anotheruser@anotheruser:~$ cd /eclipse/
anotheruser@anotheruser:/eclipse$ ./eclipse