Android建立在Linux kernel之上,大多数Linux系统使用诸如GNOME,KDE,LXDE等的桌面环境。
我已经编译了Linux内核,并使用busybox,arm cross compiler工具链和arm-J2SE构建了最小的根文件系统。目前,我有基本的Command Line Interface。现在,我想使用桌面环境(启用鼠标并处理鼠标或触摸屏输入/事件)。因为我的Java命令行代码运行正常,但是当我使用swing或awt应用程序时,它显示了此异常。
Exception in thread"main" java.awt.HeadlessException at
java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207)
at java.awt.Window.(Window.java:535)
at java.awt.Frame.(Frame.java:420)
at javax.swing.JFrame.(JFrame.java:224)
at Gui.main(Gui.java:7)
我看一下javadoc并显示,
public class HeadlessException
extends UnsupportedOperationException
Thrown when code that is dependent on a keyboard, display, or mouse is called in an environment that does not support a keyboard, display, or mouse.
基本上,它需要一些窗口管理或类似于GUI的环境。我发现很少有库可用于构建GUI环境(如XLIB/X11,SDL)来管理那些鼠标和触摸屏事件。任何人都可以告诉我从哪里开始实现我的目标。很少有Linux系统使用startx命令来启用GUI环境,然后带来桌面,窗口,鼠标等。我需要这样的东西才能运行Java gui应用程序。谁能引导我一种方法。
linux不需要桌面环境。 你可以运行它
是的,我们可以..我要它供GUI发行
一个有趣的问题,我不知道我们能做到:)期待收到令人敬畏的答案;)
为什么要将Android用作桌面?
不,我想使用Android之类的GUI环境。
这用于Linux / GUI的说明stackoverflow.com/questions/12717138/
这太好了。 谢谢@auselen
I know every Linux system should have a desktop environment like GNOME, KDE, LXDE etc.
错了考虑服务器或嵌入式系统(而不是智能手机),为什么它需要UI?操作系统内核不必提供GUI。
下面是Android体系结构/库层,其中Surface Manager + Window Manager + View System是Android的桌面环境。
有关Linux和图形系统的更多信息,请检查此SO问题。
对于Java例外,您正在使用无头Java环境,并且尝试使用不支持无头Java环境定义的Swing / AWT。
How can I setup a GUI environment that supports mouse,keyboard or other inputs?
您正在尝试将Android移植到设备上,如果您的设备尚未进行Android移植,则需要深入了解其外围设备以及一般的Android系统。这些信息可从网络上大量获得,但这并不是一项琐碎的任务。
首先,Linux发行版不需要GUI。或您必须说-X Window System。
Can anyone tell me which desktop environment is used by the Android?
blockquote>
没有。 Android不使用X。
Should I have to implement Desktop Environment for supporting keyboard and mouse?
blockquote>
我不知道。我不知道你要达到什么目标。如果要查看您的程序是否可以在Android上运行,请查看Android SDK。您可能需要查看Android模拟器并在编写代码时牢记SDK。