最もよく知られているオープンソースコンサルタント会社のXNUMXつと協力する、企業向けのトレーニングと製品、最近 新しいオープンソースプロジェクトを開発していると発表しました その主な焦点は作成を可能にすることです Androidアプリケーションを起動するための分離された環境で、アプリケーションのデータインターフェイスとWaylandに基づくグラフィカルシェルの統合を提供します.
このプロジェクトの名前は「SPURV」ですSPURVの助けを借りて、 ユーザーはLinux上でAndroidアプリケーションを実行できます Linuxディストリビューションで提供される通常のグラフィカルアプリケーションと一緒に。
これを実現するために、Android環境は分離されたコンテナーで実行されます。 この環境では、Androidプラットフォームの標準コンポーネントがインストールされ、AOSP(Androidオープンソースプロジェクト)リポジトリで提供されます。
SPURVについて
SPURV これは、Androidコンテナを構成するために使用できるツールのコレクションです。 その中にAndroidアプリをインストールし、Linuxカーネル上にあるWaylandLinuxデスクトップでそれらのアプリを全画面で実行します。
コンテナを実行するには、systemd-nspawnを使用します。 Androidアプリの場合、完全な3Dアクセラレーションサポートが提供されます。これが機能するには、LinuxデスクトップがWaylandディスプレイサーバーを使用している必要があります。
SPURV システムとAndroidコンテナの相互作用を実現するためにいくつかのコンポーネントを利用します.
SPURV for Androidは、シミュレートされたAndroidデバイスのように動作し、Androidビルドを要件に適合させるためです。
SPURVにはいくつかの機能部分があります。
- デフォルトをカスタマイズする
- ネットワークを構成する
- AndroidからPulseAudioへのオーディオブリッジを有効にします。
- AndroidからWaylandへのグラフィックブリッジを許可します
これらのコンポーネントは次のとおりです。
SPURVオーディオ
この Linuxオーディオスタックを介してオーディオ出力を整理するために使用されます。 このコンポーネントは、Android Audio HAL(ハードウェア抽出レイヤー)への呼び出しをALSAサブシステムに転送するレイヤーの形式で実装されます。
SPURV HW作曲家
それ AndroidアプリケーションウィンドウをWaylandベースの環境に統合することを目的としています。 コンポーネント リクエストをHWCAPIに変換します (ハードウェアコンポーザー)Waylandへの呼び出し。
SPURV HW作曲家 画面にデータを表示するためのツールを提供します、画面バッファーを処理し、単一のデスクトップ上で異なるアプリケーションからの画面バッファーを結合します。 HWCで使用されるプロトコルは、概念的にはWaylandプロトコルに似ているため、変換によって問題が発生することはありません。
APIをHWCからWaylandに変換することに加えて、SPURV HWComposerコンポーネントは、入力処理、Wayland側での、タッチスクリーン情報などのAndroid関連の入力イベントのキャプチャ、およびAndroidでのそれらの置換も処理します。
スズメ DHCP
これは DHCPプロトコルの簡単な実装。これにより、メインシステムとAndroid環境の間のネットワーク接続が可能になります。
これにより、Collaboraの開発者は、このプロジェクトにはプラス面とマイナス面があると主張しています。
SPURVの実装方法は、完全なオペレーティングシステムがコンテナー内で実行されていることを意味します。これには、プラスとマイナスの両方の影響があります。
プラスの効果のXNUMXつは、Androidアプリケーションの分離が強化されることです。これは、信頼できない可能性のあるアプリケーションのセキュリティとプライバシーが強化されることを意味します。
欠点は、アクセシビリティとハードウェアパフォーマンスに関連しています。 Androidに必要なハードウェアへのすべてのアクセスは、コンテナーに渡される必要があります。
systemd-nspawnアクセスを手動で構成する必要があることに加えて、コンテナーの実行に関連するパフォーマンスコストもあります。
SPURVをお試しください?
SPURVはまだ揺籃期にあるため、まだ磨きが必要なことがたくさんあります、しかしこれは、私たちがいくつかのテストを実行し、このプロジェクトが私たちに提供できる可能性を知ることができるという意味ではありません。
何のために あなたがそれに興味があるなら、あなたはコンパイルをするためにその侵入をチェックすることができます ソース(Gitlab)からすべて。