3

AndroidLinux kernelほとんどの Linux システムは、などGNOMEのデスクトップ環境を使用します。KDELXDE

Linux カーネルと最小限のルート ファイル システム ビルドをbusyboxarm cross compilertool-chain、およびでコンパイルしまし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.<init>(Window.java:535)
at java.awt.Frame.<init>(Frame.java:420)
at javax.swing.JFrame.<init>(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 のような環境が必要です。XLIB/X11,SDLこれらのマウスやタッチ スクリーンのイベントを管理できるような GUI 環境を構築するためのライブラリはほとんど見つかりませんでした。私の目標を達成するためにどこから始めるべきか誰か教えてもらえますか. GUI環境を有効にするためにコマンドを使用するLinuxシステムはほとんどなくstartx、デスクトップ、ウィンドウ、マウスなどをもたらしました.Java GUIアプリケーションを実行するには、このようなものが必要です。誰かが私を導くことができますか?

4

2 に答える 2

2

I know every Linux system should have a desktop environment like GNOME, KDE, LXDE etc.

それは間違っている。サーバーまたは組み込みシステム (スマートフォンではない) を考えてみてください。なぜ UI が必要なのでしょうか? OS カーネルは GUI を提供する必要はありません。

以下は Android のアーキテクチャ/ライブラリのレイヤーで、Surface Manager++は Android のデスクトップ環境です。Window ManagerView System

ここに画像の説明を入力

Linux およびグラフィック システムの詳細については、このSO の質問を確認してください。

Java 例外については、ヘッドレス Java 環境を使用しており、ヘッドレス Java 環境の定義によりサポートされていない Swing/AWT を使用しようとしています。

How can I setup a GUI environment that supports mouse,keyboard or other inputs?

Android をデバイスに移植しようとしています。これには、デバイスに Android 移植の取り組みがまだ進行中でない場合、一般的な Android システムだけでなく、搭載されている周辺機器に関する深い知識が必要です。これらの情報はネット上で広く入手できますが、簡単な作業ではありません。

于 2012-11-20T09:56:35.047 に答える
0

まず、Linux ディストリビューションに GUI は必要ありません。または、あなたが言わなければならない - X Window System。

Android で使用されているデスクトップ環境を誰か教えてもらえますか?

なし。Android は X を使用しません。

キーボードとマウスをサポートするためにデスクトップ環境を実装する必要がありますか?

何も思いつきません。あなたが何を達成しようとしているのかわかりません。プログラムが Android で動作するかどうかを確認したい場合は、Android SDK をご覧ください。Android エミュレーターを見て、SDK を念頭に置いてコードを作成することをお勧めします。

于 2012-11-20T09:58:10.703 に答える