[Android zone] 移植成功!Kmre 可以在 deepin 23 正常使用(附安装教程)
Tofloor
poster avatar
gfdgd_xi
deepin
Ecological co-builder
2025-03-02 14:37
Author

前言

KMRE是麒麟软件研发的Linux桌面操作系统产品的高效的Android运行环境解决方案,而当前 UEngine 的 Android 版本过老(现在的 deepin 23 也无法安装就是了),故做了此移植
当前移植的 Kmre Android 版本是 11,在原版 Kmre 的基础上做出了以下修改:

  • 新增支持获取 DDE/KDE 缩放比例,不再仅 UKUI 可用
  • 生成的 .desktop文件添加X-GXDE-KMREAPP=true、X-GXDE-KMRE-PKGNAME标签以支持一键卸载安卓应用
  • 生成的 .desktop 添加 gxme 前缀 ,避免出现与 UOS 标准包名撞车
  • 支持通过 CLI 安装或卸载 apk 应用,并定义相应的返回值方便 deb 打包
  • 支持双击 apk 一键安装应用
  • 将 Arm 翻译层更换为 libhoudini,提升应用兼容性
  • 接入 GXDE 构建系统

详细可见:https://gitee.com/GXDE-OS/kmre

image.png

image.png

image.png

前期准备

目前 Kmre 只能在 deepin23 编译,只支持 amd64 和 arm64

在安装 Kmre 前,需要做好以下准备:

  1. 安装并使用导出 Android Binder 函数的系统内核
  2. deepin 23 用户需要安装源里没有的依赖包(如果后面使用加源安装的方法安装 Kmre 则无法下载该依赖包)

具体操作如下:

安装受支持的内核

因为 Kmre 的内核模块需要使用 can_niceclose_fd_get_file/file_close_fd 等原版内核没有导出的函数,所以需要使用有导出如上函数的内核
目前 deepin 的 6.6 稳定内核和 Debian、GXDE OS 的内核均已导出如上函数,可直接安装使用
源里的 6.9、6.12 滚动内核暂不支持
如需自行编译内核,则可以合并以下 patch 来添加用于添加用于导出的代码
内核版本大于 6.11:https://gitee.com/GXDE-OS/gxde-kernel/blob/master/patch/export-symbols-needed-by-android-drivers.patch
内核版本小于 6.11 但大于 6.1:https://gitee.com/GXDE-OS/gxde-kernel/blob/master/patch-6.1/export-symbols-needed-by-android-drivers.patch
在导入 patch 后需要重新编译并安装才能正常使用

安装源里没有的依赖包

当前已向 deepin pr 了缺失的依赖包,需等 deepin 合并推源,合并推源成功后就无需安装该依赖包

目前只给 deepin23 amd64 编译了依赖包,下载以下链接的 deb 包并安装即可:

https://gfdgdxi.lanzouw.com/b0pmhuani
密码:anh4

安装 Kmre

做好前期准备,终于可以开始安装 Kmre 了,你可以选择任意一种方式进行安装:

  • 加源安装 Kmre
  • 编译安装

加源安装

输入以下命令即可加源安装:

echo "deb [trusted=true] https://repo.gxde.top/gxde-os/hetao/ ./" | sudo tee /etc/apt/sources.list.d/gxde-kmre.list
sudo apt update
sudo apt install kmre

安装完重启即可

编译安装

我写了一个自动编译安装 Kmre 的脚本,会自动检测当前系统是否符合运行条件
使用方法如下:

sudo apt update
sudo apt install git
git clone https://gitee.com/GXDE-OS/kmre
cd kmre
sudo bash build-kmre-deb.sh

若编译、安装成功,重启后即可正常使用

测试效果

重启后可以在启动器找到 Android 系统设置的图标,点击它然后等待一段时间(第一次运行需要进行初始化),看到系统设置即为成功
如果不想在启动器点击图标,也可在终端输入以下命令:

startapp com.android.settings

image.png

image.png

然后即可使用 APK 安装工具安装 APK 了:

image.png

Reply Favorite View the author
All Replies
天真的橡皮
deepin
2025-03-02 15:18
#1

like

Reply View the author
神末shenmo
deepin
Spark-App
Solutions Team Moderator
2025-03-02 15:25
#2

Hetao是哪个版本的codename来着

Reply View the author
盘灶车站
deepin
2025-03-02 16:36
#3

楼主成功地站在了牛a和牛c中间。

Reply View the author
kero990
deepin
2025-03-03 13:23
#4

要内核支持啊,那UOS妥妥的没啥戏

不过奇怪了,麒麟这玩意如果不是抄anbox,难不成还能真是他们自己搞的?

Reply View the author
情笑言
deepin
2025-03-05 17:52
#5

很好,可以用了,感觉比win下的模拟器更好用,就是安装有些麻烦,能改进到安装包全部搞定吗?

Reply View the author
doer
deepin
2025-03-31 13:49
#6

W: GPG 错误:https://repo.gxde.top/gxde-os/hetao ./ InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY FD6EEA1F20CD4B27

dan shi, an zhuang cheng gong le.

Reply View the author
terryliu
deepin
2025-03-31 15:54
#7

点击“Android 系统设置”,显示:

未找到binder,请确认kmre所需环境是否完整。

image.png

Reply View the author
gfdgd_xi
deepin
Ecological co-builder
2025-04-01 22:15
#8
doer

W: GPG 错误:https://repo.gxde.top/gxde-os/hetao ./ InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY FD6EEA1F20CD4B27

dan shi, an zhuang cheng gong le.

能用就行

Reply View the author
gfdgd_xi
deepin
Ecological co-builder
2025-04-01 22:15
#9
terryliu

点击“Android 系统设置”,显示:

未找到binder,请确认kmre所需环境是否完整。

image.png

是不是没装

kylin-kmre-modules-dkms

这个包

Reply View the author
Flyingpie
deepin
2025-04-11 09:00
#10
terryliu

点击“Android 系统设置”,显示:

未找到binder,请确认kmre所需环境是否完整。

image.png

系统更新下就行了

Reply View the author
Flyingpie
deepin
2025-04-11 09:07
#11

虚拟机能用,实体机安装完应用闪退

Reply View the author
fyfchaos
deepin
2025-04-19 12:15
#12

Wine运行器里面翻译层 libhoudini使用极狐GitLab安装,但是现在似乎极狐GitLab那边出了什么问题,没办法直接拉取,希望能修复一下

Reply View the author
158******75
deepin
2025-05-05 16:24
#13

优秀,赞

Reply View the author