GNOME 项目的 Jonas Dressler 负责开发移动设备的 GNOME Shell 版本,他发布了一些开发成果,使得 Aliendalvik (AppSupport) 环境能够在标准发行版上运行。 LinuxAliendalvik 是 Sailfish 移动平台的一个层,它能够启动为该平台编写的应用程序。 Android在对 Aliendalvik 进行逆向工程的过程中,我们为 Mutter 复合服务器准备了补丁,为声音服务器和输入系统编写了脚本和绑定,以便在 Sailfish 平台环境之外运行 Aliendalvik。
Aliendalvik 已在安装在 Arch 系统中的 Pinephone Pro 和 OnePlus 6 智能手机上进行了运行演示。 Linux 使用 GNOME Mobile shell。值得注意的是,Aliendalvik 使用标准的 Freedesktop API 与 Sailfish 用户环境交互。例如,通知通过 DBus 接口 org.freedesktop.Notification 传输,音乐播放器则使用 MPRIS 协议控制。每个运行中的 Aliendalvik 都使用 GNOME Mobile shell。 Android- 该应用程序在其自己的窗口中使用单独的 Wayland 表面显示,并使用 Wayland“文本输入”协议来组织输入。
Aliendalvik 环境使用 LXC 容器隔离工具运行,其与主机系统集成的组件是为 ARM64 架构构建的,并使用 Qt 编写。这与类似的 Waydroid 项目不同,后者也运行在 ARM64 架构上。 Android- 容器化环境,例如,Aliendalvik 可与宿主系统实现更紧密的集成, Android- 应用程序在常规窗口中打开,支持通讯录同步,并使用 Sailfish 屏幕键盘。
Sailfish 系统环境基于 Mer 项目(自 2019 年 4 月起作为 Sailfish 的一个组件开发)以及来自基于 Mer 的 Nemo 发行版的软件包构建。该环境使用 systemd、DBus、RPM、PackageKit、PulseAudio、BlueZ、Wayland 和 Qt。 服务器 Lipstick 是基于 QtCompositor 构建的。Firejail 用于应用程序隔离。ConnMan 用于网络连接管理,oFono 用于电话协议栈。
来源: opennet.ru
