当前位置:首页>安卓APP>【工具】安卓手机上可以跑Windows了?

【工具】安卓手机上可以跑Windows了?

  • 2026-10-20 23:57:51
【工具】安卓手机上可以跑Windows了?

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn]如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~

最近学长再翻 GitHub 的时候,发现了一个挺有意思的开源项目:Tiny Computer,中文名叫「小小电脑」。它的效果第一眼很容易让人以为:一台安卓手机安装了Windows的桌面,包含了任务栏、开始菜单、窗口管理器,甚至还能安装 微信、WPS、CAJ Viewer、亿图图示等这类 PC 级应用。

可以先看几张图感受一下:

口袋里的「PC 应用引擎」

「小小电脑」(tiny_computer) 是由开发者 Cateners 开源的 Android 应用,定位是给所有 ARM64 安卓设备的「PC 应用引擎」平替。它在 GitHub 已获得 3.5k+ Stars。核心能力一句话概括:在普通安卓手机上,零门槛运行完整的 Debian Linux 桌面环境,并流畅使用 PC 级办公软件。

使用场景
可以解决什么问题
移动办公
安装 PC 级 WPS Office、CAJ Viewer、亿图图示
图形设计
一键安装 Krita、GIMP 等专业绘图软件
视频剪辑
运行 Kdenlive 等 Linux 视频编辑工具
科学计算
安装 Octave、Jupyter Notebook 进行数据分析
编程开发
完整的 Debian 环境,支持 Python、C/C++、Java 等
学习教育
完整的 Linux 命令行 + 桌面体验,适合运维/开发入门
文献阅读
尝试 CAJ Viewer 等更接近桌面端的软件
旧设备再利用
把备用手机变成一台可折腾的 Linux 小机器
Linux 学习
在移动设备上体验完整 Debian 桌面和终端
开发应急
临时使用 Linux 命令行、Python、Git 等工具

真在安卓上安装了 Windows ?

不过需要注意的是,实际上 它并不是真的在安卓上安装了 Windows。

Tiny Computer 本质上是在安卓 App 里运行一套 Debian Linux 桌面环境,再通过图形显示方案把桌面呈现出来。它看起来像 Windows,是因为 XFCE 版本使用了接近 Windows 10 的主题,让任务栏、菜单和窗口交互更符合普通用户习惯。所以更准确的说法是:

它不是“安卓跑 Windows”,而是“安卓跑了一个长得像 Windows 的 Debian 小电脑”。

这个澄清很重要。因为 Tiny Computer 真正有价值的地方,是把原本很折腾的安卓 Linux 桌面体验,包装成了一个普通用户也能尝试的一键应用。可以把它理解成:

在安卓 App 里塞进一台轻量 Linux 小电脑,让手机或平板临时具备一部分桌面办公能力。

对普通用户,它的价值是降低门槛:不用 Root,不用自己搭 Termux 环境,下载对应 APK 后就能进入预配置好的 Linux 桌面。对开发者,它的价值是提供了一个很好的样板:如何把 Flutter、proot、Debian rootfs、VNC/X11、音频、文件系统访问和中文环境适配,整合成一个可分发的安卓应用。

软件安装

设备要求

  1. 1. 系统版本:Android 9 以上
  2. 2. 处理器架构:arm64
  3. 3. 存储空间:建议至少预留数 GB 空间

版本选择

  • • XFCE 版(推荐):基于 Debian Bookworm + XFCE 桌面,内置 Kali-undercover Win10 主题,界面友好,适合日常办公。
  • • LXQt 版(备选):稳定性更好,无 Win10 主题,适合 XFCE 出现黑屏或兼容性问题的设备。
  • • GXDE 版(测试):与 GXDE 团队合作,适合想体验国产桌面环境的用户。

安装软件

  • • 进入仓库后,打开 Releases 页面下载对应 APK。普通用户优先选择 tiny-computer-xfce.apk。

项目地址:https://github.com/Cateners/tiny_computer

  • • 在安卓设备上打开 APK,根据系统提示允许安装来自该来源的应用。
  • • 首次启动时,应用会准备基础组件、容器环境、终端和图形界面。这个过程可能比普通 App 打开更慢。
  • • 初始化完成后,会看到类似桌面系统的界面:菜单、窗口、文件管理器、终端等元素都会出现。这时你操作的不是远程电脑,而是安卓本机 App 内运行的 Debian 用户态环境。

常用功能

1. 安装常用 PC 软件

Tiny Computer 提供常用软件的一键安装指令,包括 WPS、CAJ Viewer、亿图图示等。

推荐这样做:

  1. 1. 先确认桌面能正常进入;
  2. 2. 找到项目内置的提示、解决方案或快捷安装入口;
  3. 3. 按提示安装你真正需要的软件;
  4. 4. 安装完成后从 Linux 桌面菜单启动。

建议先跑通默认环境,再扩展功能,省心很多。

2. 调整屏幕缩放

手机和平板屏幕差异很大:手机可能按钮太小,平板可能窗口太大。Tiny Computer 明确提到支持方便地改变屏幕缩放。

建议:

  • • 手机上把缩放调大,先保证能点;
  • • 平板上适当调小,换取更多窗口空间;
  • • 外接键鼠时,可以把缩放调得更接近桌面端。

3. 打通安卓和 Linux 文件

Tiny Computer支持两类文件访问方式:

  • • 在 Linux 桌面里访问设备文件;
  • • 通过安卓 SAF 访问软件文件。

如果你要处理文档,建议建立一个固定工作流:

  1. 1. 安卓侧把文件放到固定目录;
  2. 2. Tiny Computer 里打开对应挂载或访问入口;
  3. 3. 用 WPS / CAJ Viewer 等软件编辑或查看;
  4. 4. 保存后回到安卓侧确认文件是否更新。

第一次别直接处理唯一副本。先用测试文件走一遍打开、编辑、保存、回传流程。

4. 使用终端和高级设置

Tiny Computer 不只是图形桌面壳,也提供终端和高级参数。高级用户可以用它:

  • • 查看容器内进程;
  • • 调整启动命令;
  • • 修改语言环境;
  • • 排查图形、声音、软件安装问题。

如果要切换容器语言:在容器中运行 tmoe,进入 Manager,再到 locale 设置;同时在 Control → Advanced Settings → Startup Command 中更新 LANG=zh_CN.UTF-8 这类环境变量。

技术解析:Tiny Computer 为什么能跑起来?

Tiny Computer 的技术路线可以概括成一句话:

Flutter 做安卓应用外壳,proot 跑 Debian 容器,VNC / AVNC / Termux:X11 显示图形桌面,PulseAudio 处理声音,再通过文件访问机制连接安卓和 Linux。

下面拆开看。

1. Flutter:安卓 App 的控制中枢

README 的项目结构里提到:

lib/├── main.dart      # 页面布局├── workflow.dart  # 逻辑部分└── l10n/          # 多语言文件

其中 main.dart 主要负责 UI 页面,workflow.dart 负责从点击 App 到容器启动的核心逻辑。

从公开代码结构看,workflow.dart 涉及:

  • • 初始化应用数据;
  • • 首次安装容器;
  • • 准备 bootstrap;
  • • 初始化终端 PTY;
  • • 启动当前容器;
  • • 启动音频;
  • • 启动 GUI 后端;
  • • 打开 noVNC、AVNC 或 X11 显示桌面。

也就是说,Flutter 不是只做一个按钮页面,而是整个安卓侧控制面板。

2. proot:没有 Root,也能跑 Debian 用户态

README 的原理部分写得很直接:

使用 proot 运行 debian 环境。

传统 Linux 容器往往依赖更底层的系统能力,而安卓普通应用没有 Root 权限。proot 的思路是在用户空间里模拟一个接近 Linux rootfs 的运行环境。

通俗说:

安卓还是安卓,但某个 App 目录里运行着一套 Debian 用户态;Linux 程序以为自己在访问 /usr/bin、/etc、/home,实际路径被映射到 App 的数据目录中。

这也是 Tiny Computer 能做到“不需要 Termux”的关键:它把必要组件和容器环境整合到自己的启动流程里。

3. Debian rootfs:真正承载软件的系统环境

Release 页面能看到不同桌面环境对应的 rootfs 包,例如:

  • • debian-xfce.tar.xz;
  • • debian-lxqt.tar.xz;
  • • debian-gxde.tar.xz。

这些 rootfs 可以理解为 Linux 系统的“用户态硬盘内容”,里面包含 Debian 基础系统、桌面环境、输入法和部分预装组件。

README 还说明,root filesystem 使用 tmoe 构建,完整容器制作过程可查看 extra/build-tiny-rootfs.md。

4. noVNC / AVNC / Termux:X11:把桌面显示出来

Linux 桌面需要 X11 或 Wayland 显示服务器,而安卓的图形栈完全不同,因此程序不能直接画到 Android Activity 上,所以 Tiny Computer 内置了多种图形显示方案。小小电脑内置了三种显示方案:

显示方案
原理
特点
适用场景
noVNC
容器内运行 Xvfb + VNC 服务端,App 内置 noVNC Web 客户端通过浏览器渲染
无需额外安装,兼容性最好,但性能一般
初次体验、兼容性优先
AVNC
同样基于 VNC 协议,但使用原生 Android VNC 客户端
性能优于 noVNC,支持手势缩放
日常使用、平板设备
Termux:X11
通过 Termux:X11 应用提供原生 X11 显示
性能最佳,接近原生体验,支持硬件加速
高性能需求、游戏/视频

三种方案都通过 PulseAudio(端口 4718)实现音频转发,让容器内的应用可以正常播放声音。普通用户不用纠结底层区别,只要知道:这些方案负责把 Debian 桌面显示到安卓屏幕上。

5. PulseAudio:让 Linux 应用发出声音

从项目 extra/readme.md 可以看到,assets 和 jniLibs 中包含 Xserver XSDL、PulseAudio 相关文件。技术上,Linux 容器里的应用需要一条声音通路,把音频送到安卓侧播放。

所以 Tiny Computer 的启动流程里会准备音频服务。对用户来说,它体现为:部分 Linux 桌面应用可以在安卓设备上正常播放声音。

6. getifaddrs bridge:为安卓 13+ 做兼容

extra/readme.md 里有一个很值得开发者注意的细节:在安卓 13 以上系统中,proot 容器无权使用默认的 getifaddrs,项目提供了 getifaddrs_bridge_client_lib.so。

简化理解:

  1. 1. Linux 容器需要获取网络接口信息;
  2. 2. 安卓 13+ 对相关能力有限制;
  3. 3. Linux 侧通过 socket 通知安卓侧的 bridge server;
  4. 4. 安卓侧执行 getifaddrs,把结果序列化传回 Linux 侧;
  5. 5. Linux 侧反序列化后继续使用。

这说明 Tiny Computer 不是简单“把 Debian 打包进 APK”,而是在安卓权限、系统调用和 Linux 应用预期之间做了不少桥接。

开发者视角

如果你想二次开发,不能只 clone 源码。README 明确说明,数据包、patch.tar.gz 和 jniLibs 不在代码仓更新,而是随 Releases 提供,主要是避免 Git 仓库越来越大。

编译前需要准备:

  • • Flutter;
  • • Android SDK;
  • • jniLibs.zip:解压到 android/app/src/main/jniLibs/arm64-v8a;
  • • patch.tar.gz:拷贝到 assets;
  • • 系统 rootfs:下载或自行制作;
  • • 使用 split -b 98M debian.tar.xz 分割后拷贝到 assets;
  • • Release 构建还需要配置发布密钥,可参考 android/keystore.properties.example。

作者 README 中给出的构建命令是:

flutter build apk --target-platform android-arm64 --split-per-abi --obfuscate --split-debug-info=tiny_computer/sdi

这套流程的关键点是:源码、rootfs、patch、jniLibs 共同构成完整构建闭环。

已知问题与使用建议

1. 多用户 / 分身环境可能无法 sudo

README 的已知 bug 提到:

多用户/分身情形无法 sudo,其它见 issue。

如果你在应用双开、系统分身、多用户模式下遇到权限问题,不一定是安装错误。

2. 黑屏先换 LXQt,不要急着判死刑

黑屏可能和桌面环境、显示后端、设备图形兼容有关。官方建议遇到黑屏可以卸载后尝试 LXQt 版本。

3. 重要文件先备份

Tiny Computer 很适合轻办公、文档查看、Linux 学习和备用设备再利用。但涉及重要文档时,建议先复制一份再编辑。

推荐做法:

  • • 重要文件不处理唯一副本;
  • • 第一次先用测试文件验证路径和保存逻辑;
  • • 大版本升级前备份容器内个人数据;
  • • 优先使用项目 Releases 页面提供的安装包。

4. 性能取决于本机硬件

它不是云电脑,计算发生在安卓本机。体验取决于 CPU、内存、存储速度、屏幕尺寸,以及是否外接键鼠。

如果设备比较老,不要期待它流畅运行重型图形软件。把它当作轻办公、学习、应急和折腾工具,体验会更接近真实。

对这个项目的判断

Tiny Computer 真正有意思的地方,不是“安卓替代电脑”这种夸张叙事,而是它把原本很折腾的安卓 Linux 桌面体验,包装成了普通用户可以尝试的一键应用。

它把几件复杂的事串了起来:

  • • Debian rootfs 制作;
  • • proot 容器启动;
  • • 图形界面显示;
  • • 中文输入法和字体;
  • • 文件访问;
  • • 音频和网络兼容;
  • • 常用桌面软件安装提示。

这也是它适合被称为「PC 应用引擎」的原因:它不是只给你一个终端,而是尽量把终端、桌面、应用、输入法、文件访问拼成一个可用工作台。

对普通用户,它的意义是:

用一台安卓设备,低成本试试 Linux 桌面办公。

对开发者,它的意义是:

它展示了如何把 Flutter、proot、rootfs、VNC/X11、音频、文件系统适配整合成一个可分发的安卓应用。

结尾:如果你有安卓平板,值得试一次

如果你只是想在安卓上打开几个 PC 风格应用,建议从 XFCE 版本开始;如果遇到黑屏,再换 LXQt;如果你是 Linux 爱好者,再研究 GXDE、灵墨桌面和自行编译。

Tiny Computer 不会让安卓设备变成完整笔记本,但它确实提供了一个很有意思的方向:

移动设备的性能已经足够强,真正缺的是把复杂能力包装成普通人能打开、能理解、能使用的产品。

Tiny Computer 做的,正是这件事。


📌 提示:本文基于 v1.0.24 版本撰写,部分功能可能随版本更新有所变化,请以官方仓库最新文档为准。

如果你认为这篇文章有帮助,欢迎点赞、在看、转发三连,让更多小伙伴知道这个「口袋里的 Linux 电脑」!

最新文章

随机文章