Android手机改造Linux服务器

Android手机改造Linux服务器

闲置的安卓手机大家手头上多多少少都有一些, 虽然这些旧设备的性能在现在的3A大作面前已经不够看了, 若将它们改造成一个Linux服务器, 那就完全是一台性能猛兽!

现在一个2核4G的云服务器都贵得可怕, 何不用我们的旧Android改造一个呢, 这不比换个不锈钢盆强的多!

1

1. 硬件配置

以我手中的xiaomi 10(umi) 8 + 128举例, 其主要参数如下

  • 尺寸重量: 162.6×74.8×8.96mm, 208g (6.67英寸)
  • CPU: 高通骁龙865 (7nm工艺, 8核心, 1 * 2.84GHz + 3 * 2.42GHz + 4 * 1.8GHz + 3M系统缓存)
  • 架构: ARM x64 (aarch64)
  • GPU: Adreno 650
  • RAM: 8GB LPDDR5 (2750MHz)
  • 存储: 128GB UFS 3.0 (不支持SD卡)
  • AI: 第五代 Qualcomm AI Engine (15 TOPS)
  • 电池: 4780mAh (支持30W快充)
  • 通信: 2G-5G 全网通, Wi-Fi 6 2.4G/5G双频, 蓝牙 5.1
  • 功耗: 待机 < 1W, CPU满载 < 5W

强的可怕, 如此炸裂的性能, 低得可怕的功耗, 还有各种配置齐全的传感器

2. 优缺分析以及适用场景

2.1 优点

  • 尺寸小, 性能强劲
  • 自带各类组件/传感器 (屏幕, 相机, 麦克风, GPS, 指纹, Wi-Fi, SIM卡...) 可通过API在源码中自由控制
  • 便携, 自带电池和Wi-Fi, 随身携带的小服务器

2.2 缺点

  • Termux不是完整标准的Linux环境, 有很多软件并不适配

  • Termux中可以通过proot部署完整Linux环境, 但有部分性能损失(约10% - 20%)

    若通过chroot方式部署则几乎没有性能损失 (需要root)

  • 不支持Docker, 这是底层Android内核限制, 即使部署完整Linux环境也无法使用

2.3 适用场景

  • Linux学习, 可通过chroot/proot部署完整Linux环境, 甚至安装桌面环境

  • 部署Web服务, 笔记, 网盘, S3存储, 数据库等小型服务 (非Docker方式)

  • 跑一些脚本任务

  • 编程: termux中支持Python, C/C++, Rust, Zig, NodeJS, Go, Java, Lua, PHP等常见程序开发编译环境

    还可以部署code-server, 做一个移动的Web端VSCode编辑器

  • 还可以简单点: 刷一个原生Android系统, 当一个专用的游戏机玩 (好像和Linux服务器用途并不冲突, 可以两个都要)

如果是必须使用Docker容器的场景, 那么这并不是一个合适的方案, 不用浪费时间

‍

本文指在将Android设备变成一个可便携, 可SSH远程连接, 开机可用的简单Linux服务器

我手头的设备是Xiaomi 10 (umi), 不同型号的手机可能操作不一样, 主要流程可以参考, 但细节部分必须型号匹配

3. 前期准备

解锁bootloader/获取root权限/刷LineageOS/刷magisk都是可选步骤, 没有解锁bootloader和root权和LineageOS系统也可以使用Termux, 只是有一些操作会有限制, 后续文中尽量指出

‍

提前准备好可用网络, 方便访问Github, 下载必要软件工具

提前准备好adb和fastboot工具, 安装好设备驱动, 具体可询问AI或者搜索完成, 后续操作需要这两个命令行工具, 确保这两个工具可以正常连接手机

可以先下载Mi Unlock工具(https://www.miui.com/unlock/download.html), 使用其中的MiUsbDriver.exe安装好驱动 (最好重启电脑)

# fastboot查看已连接的设备
fastboot devices

‍

如果是在USB 3.0接口连接手机, 可以先执行以下命令, 防止fastboot连接失败

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\18D1D00D0100" /v "osvc" /t REG_BINARY /d "0000" /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\18D1D00D0100" /v "SkipContainerIdQuery" /t REG_BINARY /d "01000000" /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\18D1D00D0100" /v "SkipBOSDescriptorQuery" /t REG_BINARY /d "01000000" /f

进行任何操作之前先备份数据, 数据无价

‍

Xiaomi 10进入Recovery和Fastboot操作

  • Recovery: 关机后按住音量+​和电源按钮
  • Fastboot: 关机后按住音量-​和电源按钮

3.1 解锁bootloader (可选)

bootloader锁真是各位折腾玩家最不喜欢的东西, 厂商加bootloader锁是维护自身利益, 现在已经越来越难解锁了 (我自己的东西我不能解锁就很难受)

‍

Xiaomi 手机Miui系统解锁需要7天时间, 具体操作如下 (HyperOS我没有用过, 好像更严格了, 貌似需要社区账号坐牢180天)

  1. 打开开发者模式: 设置 → 关于手机 → MIUI版本 → 连续点击7次. 在开发者模式中打开"USB调试"和"OEM解锁"

  2. 绑定账号信息: 开发者模式中点击"设备解锁状态", 按要求绑定账号和设备, 操作成功即可, 不要重复操作

    必须SIM联网, 绑定账号, 提示成功即可, 不要重复操作

  3. 等待168小时, 也就是7天

  4. 进入: https://www.miui.com/unlock/index.html

  5. 下载 Mi Unlock 工具, 并按照说明操作

    执行MiUsbDriver.exe安装驱动, 安装后最好重启一下电脑

    具体操作我不太记得了, 需要先安装驱动, 重启到fastboot模式, 连接到电脑, 在工具中解锁

解锁成功后, 设备在启动界面顶部会有一把打开的锁的图标, 之后就可以自由刷机了

3.2 刷入LineageOS系统 (可选)

刷系统必须先解锁bootloader

在LineageOS官网找到自己的设备型号说明文档: https://wiki.lineageos.org/devices/

Xiaomi 10对应编号是umi, 对应的说明文档为: https://wiki.lineageos.org/devices/umi/

这里必须找到对应型号的文档进行操作, 如果找不到, 可能是不支持的型号, 不要强行操作, 否则可能变砖

‍

这里仅以Xiaomi 10(umi)操作为例

2

  1. 找到设备型号对应刷机包: https://download.lineageos.org/devices/umi/builds

  2. 下载 recovery.img, boot.img, lineageos-xxxx.zip, 文件存放路径不要有中文和空格, 避免未知问题

  3. 刷入Recovery

    • 数据线连接手机和电脑, 打开USB调试

    • 进入fastboot模式: 可以执行adb -d reboot bootloader​进入, 或者重启时按住音量-​和电源

    • 在下载目录执行以下命令

      # 刷入recovery分区镜像
      fastboot flash recovery recovery.img
      # 提示成功后重启到新recovery
      fastboot reboot recovery
      
  4. 通过recovery安装LineageOS (设备应当在recovery模式, 若上述命令未运行成功, 可以手动重启按住音量+​和电源按钮进入)

    • (操作前确保重要数据备份) Recovery中选择Factory Reset, 然后Format data / factory reset, 该操作将清空设备上所有数据

    • 清理完成后返回Recovery主菜单

    • 选择Apply update, 之后选择Apply from ADB

    • 在电脑上执行以下命令

      # 通过sideload刷入系统
      adb -d sideload lineageos-xxxx.zip
      

      如果提示Signature verification failed, 点击Yes, 等待刷入完毕, 并确保没有报错后重启即可

‍

LineageOS 清爽很多, 没有各种隐藏的植入广告, 没有安全管家, 刷入系统后无论拿来当服务器还是当游戏机, 都会获得更好的性能, 更低的功耗

3.3 刷magisk以及常用模块 (可选)

俗称面具, 刷入后可管理root权限, 可以安装第三方模块, 玩机必备

  1. 打开Magisk官方页面: https://github.com/topjohnwu/Magisk

  2. 在release中下载最新的 Magisk-vxxx.apk, 在手机上安装

  3. 将之前下载的 boot.img 拷贝到手机存储中

  4. boot.img Path: 打开手机上的 Magisk app, 在Magisk卡片右边点击Install

    3

    安装方式选"选择一个文件Patch", 之后选中上一步拷贝的boot.img, Patch之后会输出一个"magisk_patched_xxxxx.img"

    将它拷贝到电脑上

  5. fastboot刷入Patch之后的img, 手机重启进入fastboot模式

    fastboot flash boot magisk_patched_xxxxx.img
    
  6. 刷入成功后重启手机, 打开Magisk app, 观察Magisk卡片中的"Installed", 若显示N/A表示没有安装成功, 若正常显示版本号, 则安装成功

    最新版的Magisk已经不再内置模组市场, 可以去 https://github.com/MMRLApp/MMRL 找找看

‍

成功刷入面具后, 可玩的东西就多了, 比如LSP (https://github.com/JingMatrix/LSPosed) 和 XPosed 插件 (比如防撤回/去广告/音乐换源/抢红包等等), 感兴趣可以去研究研究, 这里就不跑题了

4. 使用Termux

Termux才是我们今天的主角! 有root和magisk使用起来会更顺手, 但是没有也可以用

它是一个独立运行的Linux环境, 但是直接使用Android内核, 不依赖虚拟化和容器技术

在Termux中直接运行的程序几乎没有性能损失

‍

有问题可以查阅优秀的官方文档: https://wiki.termux.dev/wiki/Main_Page

4.1 Termux下载安装与初始化配置

使用Termux时需要注意, 与它相关的一系列App都必须从相同的源下载

比如说Termux从github安装, 那么Termux-boot等工具也必须从github安装, 否则会有问题

同样, 如果选择F-Droid源下载, 那就所有工具都从F-Droid下载安装, 这里我使用github源

‍

下载Termux: https://github.com/termux/termux-app

在release页面中选择合适架构的apk安装包, 我选择ARM64类型的安装包 (arm64-v8a)

安装后打开, 看到"Welcome to Termux!"欢迎提示, 表示安装成功

Welcome to Termux!

Docs:       https://termux.dev/docs
Donate:     https://termux.dev/donate
Community:  https://termux.dev/community

Working with packages:

 - Search:  pkg search <query>
 - Install: pkg install <package>
 - Upgrade: pkg upgrade

Subscribing to additional repositories:

 - Root:    pkg install root-repo
 - X11:     pkg install x11-repo

For fixing any repository issues,
try 'termux-change-repo' command.

Report issues at https://termux.dev/issues
~ $

‍

之后是一些必要的初始化操作, 方便我们更好的使用Termux

  1. 开放Android权限与后台: 打开应用详细信息, LineageOS中的操作是长按图标 - 应用信息

    • 打开所有应用权限, 允许管理应用 (重要!)
    • 允许所有通知
    • 允许网络访问
    • 电池管理/电池使用中, 允许后台使用, 电量使用改为"无限制" (重要!)
  2. 申请存储管理权限: 在Termux终端执行 termux-setup-storage

    若执行时提示App申请文件管理权限, 需要点同意, 之后就可以访问手机存储了

    比如xiaomi10上是/sdcard​指向/storage/emulated/0, 我们cd到该目录, ls一下, 看看能不能正常访问文件列表, 授权之后一般能正常访问

  3. 更改软件源: Termux中提供了很方便的换源方法, 替换软件源后可以更丝滑的安装软件包

    • 保持手机网络连接, 最好是Wi-Fi, 要是不缺流量用SIM卡也行
    • 终端执行termux-change-repo​, 先用空格选中"Mirror Group", 再Enter到下一步; 再用空格选中"All Chinese Mainland", 再Enter到下一步 (不在中国大陆则依据自身情况选择)
    • 选择完成后将自动更新软件源信息, 也可以手动确认一下 pkg update
    • 更新一下Termux中的软件包: pkg upgrade

到此, 我们已经配置好了一个基础的Linux环境, 使用pkg作为包管理工具, 以下是一些常用的pkg命令以及termux自带命令

pkg help # 查看帮助
pkg update # 更新软件源信息
pkg upgrade # 更新所有已安装的包到最新版本
pkg install <packages> # 安装软件包
pkg uninstall <packages> # 卸载软件包
pkg list-installed # 列出所有已安装的软件包

# 切换软件源, mirror group, all chinese mirror(空格选中)
termux-change-repo
# 获取存储权限
termux-setup-storage
# 切换root身份
su
# 获取信息 (架构, 版本, 机器, 硬件等)
termux-info
# 唤醒锁定 (防止手机进入深度睡眠, 关闭网络/停止运行任务等, 深度睡眠会导致ssh连接断开)
termux-wake-lock
# 取消唤醒锁定
termux-wake-unlock

4.2 SSH远程访问

谁也不想一直用手机上的这个小屏幕敲命令行吧! SSH整上

安装openssh和termux-services, termux-services用于简单的服务管理, 可以实现服务自启动

pkg install openssh termux-services

开启sshd服务, termux中的ssh默认监听8022端口

sv-enable sshd
# 确认ssh进程是否运行
ps -ef | grep ssh

如果有root权限, 也可以通过root用户查看网络端口监听情况

su # 切换root身份, 若提示申请root权限, 应当永久允许
ss -anpt | grep 8022

SSH远程访问的必要信息

# 获取用户名, 一般是u0_a123的格式, 不可更改
whoami
# 设置一个密码, 在SSH连接时使用
passwd
# 获取本机IP地址
ifconfig

之后就可以通过以上信息远程通过SSH远程连接了!

‍

连接之后记得先执行一句termux-wake-lock​, 获取唤醒锁, 防止手机深度睡眠, 导致网络断开!

使用mobaxterm等工具连接后, 还可以直接在侧边栏中传输文件, 相当方便, 已经有点服务器的样子了, 让我们拉一个系统信息, 秀一下 (文章首图)

# 保持唤醒
termux-wake-lock
# 安装和使用fastfetch, 拉取系统信息
pkg install fastfetch
fastfetch

4.3 termux-services服务管理/自启动

参考: https://wiki.termux.com/wiki/Termux-services , 支持服务自启动

# 设置服务自启动, 当termux启动后, sshd服务也会自启动
sv-enable sshd
# 关闭服务自启动
sv-disable sshd
# 启动服务
sv up sshd
# 停止服务
sv down sshd

termux-services本身支持一些简单的服务管理, 也可以添加自定义的服务脚本

termux-services uses the programs from runit to control the services. A bunch of example scripts are available from the same site. If you find a script you want to use, or if you write your own, you can use set it up by running:

mkdir -p $PREFIX/var/service/<PKG>/log
ln -sf $PREFIX/share/termux-services/svlogger $PREFIX/var/service/<PKG>/log/run

and then put your run script for the package at $PREFIX/var/service/<PKG>/run and make sure that it is runnable.

You can then run

sv up <PKG>

to start it.

Log files for services are situated in $PREFIX/var/log/sv/<PKG>/ with the active log file named "current".

5. 更丝滑的Linux服务器

经过前面的操作, 我们的Android设备已经能够当一个简单的Linux服务器使用了, 开机后打开Termux应用, 我们的服务就会自动启动, 连接SSH后执行termux-wake-lock可以保持其后台运行

但是这里面还是有太多的手动操作, 真正的服务器开机就在运行, 不需要这么多操作! 让我们让它更加自动化一些

5.1 Termux开机自启动

方法1: termux-boot实现

参考 https://wiki.termux.com/wiki/Termux:Boot

该方案的好处是不需要root权限, 但是我在LineageOS 23.2-20260308上没有自启动成功

以前在LineageOS 23.0-20251228上自启动成功过

安装好后打开一次, 按照说明给予自启动/后台运行/电池无限制等权限和配置

重启手机, 测试能否在没有任何操作, 不解锁手机的情况下使用SSH远程连接

‍

通过该方式自启动后, 将自动运行~/.termux/boot/目录下的可执行脚本

比如我们可以添加一个start-services​脚本, chmod +x ~/.termux/boot/start-services添加执行权限

加入以下内容, 启动时自动获取唤醒锁, 并执行一些初始化操作

#!/data/data/com.termux/files/usr/bin/sh
termux-wake-lock
# 允许termux-services自启动服务
. $PREFIX/etc/profile

方法2: 通过Magisk自启动脚本实现 (需要root和magisk)

在之前的步骤中已经安装Magisk应用

手机开机时, /data/adb/service.d/目录下的脚本会被magisk自动执行, 我们可以利用这一点实现Termux自启动

# 切换root, 必须使用root, 否则下面的目录无权限访问
su
cd /data/adb/service.d
vi start_termux.sh

在start_termux.sh中填入以下内容

#!/system/bin/sh
# loop check if the system boot completed
until [ "$(getprop sys.boot_completed)" = "1" ]; do
    sleep 3
done
# wait for extra few seconds
sleep 10
# start termux app
am start -n com.termux/com.termux.app.TermuxActivity

相当于在开机后点了Termux图标, 让它自动运行起来

重启手机, 可以在Magisk应用中查看日志观察start_termux.sh是否有被执行

‍

如果脚本已经自动执行, 后台中可以看到termux, 但是SSH无法连接, 必须将Termux切换到前台一次才可以SSH连接, 则需要检查Termux应用设置, 是否允许后台运行, 是否允许电量无限制使用

如果一切顺利, 手机重启后, 不需要任何操作, 也不需要解开锁屏, 直接就能SSH远程连接, 这才是服务器该有的样子

5.2 自动电源管理 - 防止鼓包

如果我们将手机当作服务器长期开机使用, 势必要长时间连接充电器, 但是一直让锂电池保持满电状态很容易导致电池鼓包, 甚至导致危险

更极客的方式是直接拆除电池, 弄一个4V的稳压模块直接替代电池, 变成外接供电

‍

我比较手残, 不想过于折腾, 这里使用折中一点的方式, 虽然无法避免电池鼓包问题, 但是应该可以大幅延迟它到来的时间

这里我使用ACC电源模块, 这是一个Magisk模块, 可以控制充电的启停, 尝试让电池电量保持在一个稳定范围

‍

这里我们稍微了解一下电池鼓包的原因: 简单来说就是锂电池在过充(电压过高)或者过放(电压过低)时, 内部的化学反应会变得不稳定, 会析出晶体刺穿电池, 或者电解液分解, 最终产生气体, 导致电池鼓包/发热/起火

‍

因此最好的让电池保持稳定的方式, 是让它保持一个"舒适"的电压区间, 比如3.8V左右, 而不同的电压对应着不同的电压范围

  • 100%电量: 4.3V - 4.35V (高压区)
  • 80%电量: 4.0V - 4.1V (电压明显减小)
  • 50%电量: 3.8V 左右 (化学状态最稳定的标称电压区间)
  • 20%电量: 3.5V - 3.6V 左右

电量在 20% 到 80% 的区间内时, 电池电压处于相对平缓的区域, 如果想保险一点, 我们可以将电量控制在30%到70%, 想要实现这种效果, 就需要ACC了

‍

下载: https://github.com/VR-25/acc (不过好久未更新了)

在release中下载acc_v2023.10.16_202310160.zip (我看到的最新版本)

将zip包传输到手机上, 在Magisk中切换模块页面, 从本地安装, 选择zip, 刷入acc

刷入成功后重启手机, 使用SSH连接

# 切换root, 否则无法使用acc
su
# 查看acc守护进程状态, acc使用引导
acc

执行acc命令后, 若看到"accd is running (PID 5108)"的类似提示, 则说明acc运行正常, 我们可以设置一下充电的电量上下限

# 若还在acc引导程序中, 可以先按z退出
# 设置充电上下限为30% - 70%, acc pause_capacity resume_capacity
acc 70 30

之后可以插着充电器试一试, 最好使用原装的充电器和原装充电线, 防止协议不兼容

5.3 自动获取唤醒锁

要让我们的服务器长期稳定运行, 光解决供电问题还不行, 可能开机后一会没操作, 手机就自动深度睡眠了, 网络都无法连接, 想连上SSH还需要手动点亮屏幕, 这太不科学了, 既然Termux已经可以开机自启动了, 那么在自启动时自动获取唤醒锁也不难了

以普通用户打开Termux终端(SSH也行)

# 新建并编辑.bashrc
nano ~/.bashrc
# 填入以下内容并保存
termux-wake-lock
# 新开一个测试bash终端, 观察所有脚本命令执行情况
# 若观察到./bashrc和termux-wake-lock的执行, 说明一切运行正常
bash --login -x
# 退出测试终端
exit

重启手机, 观察Termux自启动后, 手机任务栏的状态应当显示"1 session (wake lock held)"

‍

这样我们的手机开机之后, 可以自动控制电量, 自动启动Termux, 自动启动服务进程, 而且自动防止锁定, 不会断网, 稳定运行, 它成了一台真正的服务器了, 开机即用

5.4 自动组网

我们有一台稳定运行的服务器了, 虽然它已经非常便携了, 但是我就是觉得带来带去不方便, 服务器就应该在墙角里安静运行, 之后无论在家里还是办公室还是出差都应该可以远程SSH连接访问, 这样它才像一个云服务器!

这里我选择使用EasyTier组网, 组网中需要有一个具备公网IP的节点来打通内网穿透, 之前该软件有社区提供的公共节点服务器, 后来貌似不能用了, 需要自己的公网IP节点打通p2p通道

我家的宽带没有公网IP, 但是我有一个小水管的VPS云服务器

‍

具体可参考: https://easytier.cn/

下载安装: https://github.com/EasyTier/EasyTier release页面

‍

Windows: 下载 easytier-gui_xxx_x64-setup.exe

Linux: 可以Docker安装 (参考https://easytier.cn/guide/installation.html页面的Docker安装过程)

Android: 也就是我们的设备, 使用Magisk模块安装, 在release页面下载 Easytier-Magisk-vxxx.zip, 在Magisk模块中安装

‍

Magisk模块安装完成后, 需要修改配置

# 切换root
su
# 到easytier的配置目录
cd /data/adb/modules/easytier_magisk/config
# 编辑easytier配置
vi config.toml

按照easytier官网说明填写必要配置, 然后在Magisk中先关闭EasyTier, 再打开, 关键配置如下

  • ipv4 分配的虚拟局域网ip
  • network_name 加入的网络名
  • network_secret 加入的网络密钥
  • peer uri 加入的网络具有公共ip的节点tcp://xxx.xxx.x.x:11010
  • flags private_mode true 私有模式, 不允许所配置之外的网络节点使用该节点

配置完成后, 在magisk模块中关闭再重新打开EasyTier, 点击"操作", 可以看到成功激活日志

在终端中ifconfig查看IP地址, ping虚拟局域网中的其他设备

‍

若配置正确, 那么恭喜! 现在我们的Android服务器已经实现开机自动组网, 在Windows端的EasyTier中可以看到虚拟组网中的各个设备

4

我的虚拟局域网中包含了我的Nas设备, 家里的小主机, xiaomi10手机, 可以随时随地访问这些设备, 就像在同一个局域网一样

6. 简单使用

6.1 使用copyparty搭建一个简单的文件分享网盘

copyparty是一个很轻量的Python实现的网盘分享软件, 我们先安装Python, 再设置pip镜像源, 最后使用pip安装copyparty并使用

# 安装python
pkg install python
# 安装copyparty
pip config set global.index-url https://pypi.mirrors.ustc.edu.cn/simple/
pip install -U copyparty
# 查看copyparty用法
copyparty -h
# 将指定目录开放为可读写网盘, 无鉴权
copyparty -v /mnt/sdcard:/:rw [-p 8033]
# 后台保持运行, --no-log减少日志输出, 保护隐私或节省磁盘空间
copyparty -v /mnt/sdcard:/:rw -p 8033 --no-log --daemon

在浏览器中访问 http://ip:8033, 就可以看到自己的简单网盘了!

6.2 部署code-server

# 启用Termux用户软件库 Termux User Repository (TUR)
pkg install tur-repo
# 安装code-server
pkg install code-server

先运行一次, 修改配置后再运行

# 默认监听127.0.0.1:8080, 无法访问, Ctrl+C关闭
code-server
# 编辑配置, 修改其中监听IP为0.0.0.0
nano ~/.config/code-server/config.yaml
# 再次启动后访问
code-server

使用配置文件中的密码登录, 非常棒! 可以安装插件, 进行各种语言的编程, 在上一小节使用copyparty的部分我们已经安装了Python, 还可以安装C++/Java/Go等各种语言的编译器快乐的开发

VSCode中还支持AI插件, 更快乐了

5

7. 更多的玩法

环境有了, 怎么玩都可以

  • 可以通过proot安装完整Linux发行版

    参考: https://wiki.termux.com/wiki/PRoot

    pkg install proot-distro
    # Debian/Manjaro/Fedora
    proot-distro install debian
    proot-distro login debian
    
  • 在完整Linux发行版中安装桌面环境

  • 之前说需要Docker的可以不用浪费时间, 但也不是完全不能支持

    可以参考网络资料和AI尝试修改LineageOS内核编译选项, 打开Docker需要的特性, 自行编译

    比如对于xiaomi10 (umi), 可参考: https://wiki.lineageos.org/devices/umi/build/

  • 可以通过termux-api用源码/脚本操控手机的各中组件和传感器

    比如发送信息, 打电话, 拍照, 录音, tts, 获取传感器数据

    具体参考: https://wiki.termux.com/wiki/Termux:API

  • 如果有自己需要的软件/服务, 但是不支持Android/ARM64, 还可以自己尝试修改源码和编译选项, 在termux中编译打包

    为termux社区做一点贡献

‍

‍

posted on 2026-03-11 22:42  风酥糖  阅读(312)  评论(0)    收藏  举报