在博客上 我們分享了有關 Sailfish OS 的信息 (已經幾個月沒有太多活動了) 這次發布的信息是關於 已完成的逆向工程工作 阿林達爾維克 (應用程式支援)。 喬納斯·德雷斯勒 來自 GNOME 項目 是分享部分成果的人 這已經在 Aliendalvik 工作中進行了。
有趣的是什麼 喬納斯·德萊斯勒 (Jonas Dressler) 在 A 中所做的工作Liendalvik,這是主人,即閉源, 因此它僅以二進制形式提供,而不是原始碼, 並且僅作為您官方支援的手機的圖像的一部分發送。
對於那些不知道的人 Aliendalvik,你應該知道這就是 Linux 上的 Waydroid, 基本上來說 是 Sailfish 行動平台的一層 它允許您運行為 Android 編寫的應用程式。 Aliendalvik 在 LXC 容器內執行修改後的 Android 系統,與主機系統共用核心。
Sailfish 系統環境基於 Mer 專案(自 2019 年 XNUMX 月起,它已作為 Sailfish 的組成部分進行開發)和 Mer Nemo 發行包。此環境使用 systemd、DBus、RPM、PackageKit、PulseAudio、BlueZ、Wayland 和 Qt。口紅合成伺服器建構在 QtCompositor 之上。 Firejail 用於隔離應用程序,ConnMan 用於管理網路連接,oFono 用作電話堆疊。
關於阿林達爾維克
與 Waydroid 相比, Aliendalvik 與主機的整合要好得多。 將 Android 應用程式顯示為單獨的 Wayland 視窗、轉發通知和來自 Android 的 MPRIS, 與 Android 同步主機聯絡人、使用本機螢幕鍵盤等等。
阿林達爾維克環境 使用容器隔離工具運行 與主機系統整合的元件是針對 ARM64 架構建構的,並使用 Qt 編寫。
在介紹 Aliendalvik 透過逆向工程使其能夠在 ARM Linux 發行版上運行所實現的改進的文章中,實現了 Aliendalvik 已在 Pinephone Pro 和 OnePlus 6 智慧型手機上成功演示, 它安裝了 Arch Linux 發行版和 GNOME Mobile shell。
上面提到了Android容器 可以使用標準 Linux 容器工具和主機整合二進位檔啟動 它們是針對 ARM64 編譯的,並且大多連結到各種開源 Qt 函式庫。
除此之外,他也分享:
但在我看來,Aliendalvik 的真正潛力在於使其成為開源社群的一部分。為更廣泛的 Linux 社群提供服務意味著我們可以共同努力,幫助修復錯誤、實現新功能,並在底層堆疊上進行合作,以更好地滿足 Aliendalvik 的需求。雖然 Waydroid 作為當前的 FLOSS 解決方案已經很棒,但要達到 Aliendalvik 目前的水平還需要大量時間和精力。當一個很好的解決方案已經存在時,我們不得不重做這項工作,這是一種恥辱。
喬納斯·德雷斯勒 在他的文章中指出,標準的 Freedesktop API 用於與 Aliendalvik 交互 與 Sailfish 使用者環境;例如,通知透過org.freedesktop.Notification DBus介面傳輸,MPRIS協定用於控制音樂播放器。每個正在運行的 Android 應用程式都在自己的視窗中使用單獨的 Wayland 介面進行顯示,並且使用 Wayland 的「文字輸入」協定來組織輸入。
在 Aliendalvik 的逆向工程過程中,為 Mutter 複合伺服器準備了補丁,為聲音伺服器和輸入系統準備了腳本和掛鉤,以便在 Sailfish 平台環境之外運行 Aliendalvik。
但在我看來,Aliendalvik 的真正潛力在於使其成為開源社群的一部分。為更廣泛的 Linux 社群提供服務意味著我們可以共同努力,幫助修復錯誤、實現新功能,並在底層堆疊上進行合作,以更好地滿足 Aliendalvik 的需求。
最後, 如果您有興趣了解更多信息,您可以查看詳細信息 在下面的鏈接中。