旧手机别扔!三台安卓手机搭建本地大模型实战指南

5 阅读12分钟

旧手机别扔!三台安卓手机搭建本地大模型实战指南

从 4GB 老爷机到 12GB 千元机,手把手教你在手机上跑 Ollama,搭建私有 AI 服务器


写在前面

很多人以为跑大模型必须买显卡、配服务器。但其实,你抽屉里吃灰的旧手机就能跑。

我手头有三台安卓设备,配置从弱到强:华为畅享 9 Plus(4GB)、OnePlus 3(6GB)、vivo Y300i(12GB)。经过一周折腾,全部成功部署 Ollama,实现了手机端本地推理。

这篇文章把整个过程记录下来,包括硬件选型、模型选择、常见坑和最终推荐配置。


一、硬件清单:三台设备概况

设备RAM处理器系统定位
vivo Y300i12GB天玑Android + Termux日常随身机,性能最强但会带出门
OnePlus 36GB骁龙 820Kali NetHunter固定 7×24 局域网服务器
华为畅享 9 Plus4GB麒麟 710EMUI + Termux极弱,勉强跑

关键结论:

  • 12GB 内存(vivo Y300i):可以流畅跑 7-8B 模型,体验接近 GPT-3.5。但这是日常主力手机,会带出门,所以不能当固定服务器。
  • 6GB 内存(OnePlus 3):刷了 Kali 不吃灰,跑 3-4B 模型刚好。这才是真正的 7×24 服务器——扔家里插着电,电脑随时连。
  • 4GB 内存(华为):只能跑 0.5B 极限小模型,聊胜于无。

二、环境准备

2.1 安装 Termux(普通安卓)

# 通过 F-Droid 安装 Termux(不要用 Google Play 版本,太旧)
# 安装后更新并安装基础工具
pkg update && pkg upgrade
pkg install wget proot  # proot 用于运行 Linux 环境

2.2 Kali NetHunter(OnePlus 3 专属)

OnePlus 3 刷了 Kali NetHunter,自带完整 Linux 环境,不需要 Termux 那一层。

作为固定服务器优势明显:

  • 不日常使用,可以一直插电丢家里
  • 骁龙 820 功耗低,24 小时开着不心疼
  • 完整 Linux,跑 ollama serve 暴露给局域网,电脑随时连

2.3 安装 Ollama

# 所有设备通用安装命令
curl -fsSL https://ollama.com/install.sh | sh

# 安装后验证
ollama --version

如果官方脚本不兼容(常见于 ARM 设备),手动下载 ARM64 二进制:

# 下载 ARM64 版本
wget https://github.com/ollama/ollama/releases/latest/download/ollama-linux-arm64.tar.gz
tar -xzf ollama-linux-arm64.tar.gz

# OnePlus 3 手动安装示例
mkdir -p ~/Ollama/bin
mv ollama ~/Ollama/bin/

三、模型选型与 L 等级

3.1 什么是 L 等级

L 等级是我根据社区经验和实测得出的能力分级:

等级能力描述对标
L1闲聊、讲笑话、极简单问答无
L2知识问答、简单写作、基础理解GPT-3
L3复杂推理、代码生成、长文写作GPT-3.5
L4强推理、专业代码、接近人类专家GPT-4o / Claude Sonnet

手机端一般能达到 L2-L3,日常使用足够了。

3.2 vivo Y300i(12GB)可用模型

模型大小L等级拉取命令
qwen3:8b5.2GBL3+ollama pull qwen3:8b
qwen2.5-coder:7b4.7GBL3ollama pull qwen2.5-coder:7b
qwen2.5-coder:14b9.0GBL3+ollama pull qwen2.5-coder:14b
qwen3:14b9.3GBL3+ollama pull qwen3:14b
qwen3:4b2.5GBL2+ollama pull qwen3:4b

推荐组合:

ollama pull qwen3:8b              # 通用主力,综合能力强
ollama pull qwen2.5-coder:7b      # 写代码专用

14B 虽然能跑但接近内存上限,推理速度会明显下降,不太推荐。

3.3 OnePlus 3 Kali(6GB)可用模型

模型大小L等级拉取命令
qwen3:4b2.5GBL2+ollama pull qwen3:4b
qwen2.5-coder:3b1.9GBL3ollama pull qwen2.5-coder:3b
qwen3:1.7b1.4GBL2ollama pull qwen3:1.7b
qwen2.5-coder:1.5b986MBL2ollama pull qwen2.5-coder:1.5b
qwen3:0.6b523MBL1ollama pull qwen3:0.6b
tinyllama:1.1b638MBL1ollama pull tinyllama

推荐组合:

ollama pull qwen3:4b              # 主力通用
ollama pull qwen2.5-coder:3b      # 代码专家(这反而是 L3!)

注意:6GB 跑不了 8B 模型(需要 5.5GB 内存,系统不够用)。

3.4 华为畅享 9 Plus(4GB)可用模型

模型大小L等级拉取命令
qwen2.5-coder:0.5b398MBL1ollama pull qwen2.5-coder:0.5b
qwen3:0.6b523MBL1ollama pull qwen3:0.6b
tinyllama:1.1b638MBL1ollama pull tinyllama

唯一实用选择:qwen2.5-coder:0.5b,能做简单代码补全。说实话 4GB 设备跑大模型的体验很差,建议考虑卖掉换钱。


四、启动与联网

4.1 暴露到局域网

默认情况下 Ollama 只监听 127.0.0.1,其他设备无法访问。需要修改启动参数:

# 暴露给局域网(所有设备都能连)
OLLAMA_ORIGINS=* OLLAMA_HOST=0.0.0.0:11434 ollama serve &

# OnePlus 3(手动安装版)
OLLAMA_ORIGINS=* OLLAMA_HOST=0.0.0.0:11434 ~/Ollama/bin/ollama serve &

4.2 获取手机 IP

# Termux / Kali 通用
ip addr show wlan0 | grep "inet " | awk '{print $2}'
# 输出类似:192.168.1.10/24 → IP 是 192.168.1.10

重要提醒:vivo Y300i 是随身机,每次出门再回家连上 WiFi,IP 大概率已经变了。路由器里绑定 MAC 地址可以固定家里 WiFi 的 IP,但出门连其他网络回来后能否拿到同一个 IP 取决于路由器。每次连之前最好确认一下当前 IP。

OnePlus 3 就没这个问题——它不出门,IP 是固定的。

4.3 从电脑连接

电脑端通过 Chatbox 等客户端连接手机上的 Ollama:

# 在电脑上测试连接(连 OnePlus 3 固定服务器最方便)
curl http://192.168.1.x:11434/api/tags

4.4 SSH 远程管理

# 从电脑 SSH 到 vivo(Termux)
ssh u0_a155@192.168.1.x -p 8022

# 从电脑 SSH 到 OnePlus 3(Kali,默认 22 端口)
ssh root@192.168.1.x

五、Chatbox 连接配置

Chatbox 是手机上常用的 AI 聊天客户端。

连接方式:选择「Ollama 原生模式」,不要选「OpenAI Compatible」。

配置项值
协议HTTP
主机你手机的 IP(OnePlus 3 固定,vivo 每次查一下)
端口11434
模型路径自动识别(不需要填 /v1)

常见错误:如果选了 OpenAI 格式,会返回 403 错误——Chatbox 发的是 /v1/chat/completions,Ollama 不认。


六、踩坑实录 —— 我亲自趟过的雷

整个部署过程横跨三台设备、两种系统(Android Termux + Kali NetHunter),踩过的坑比成功多得多。以下是完整的「翻车记录 + 修复过程」。


坑① 第一次就跑 bf16 模型,直接被 OOM Kill

场景:vivo Y300i(12GB),满怀期待地在 Termux 里执行了第一条命令:

ollama run qwen3.5:2b-bf16

报错:

signal: killed

原因:bf16(bfloat16)是 HuggingFace 上的原始权重格式,qwen3.5:2b-bf16 并非 Ollama 标准 tag(标准 tag 是 qwen3.5:2b,默认 q4_K_M 量化)。bf16 加载到内存后实际占用 5-6GB,Android 的 OOM Killer 检测到进程吃太多内存,直接杀掉。

后来不死心又试了一次,这次侥幸加载成功了,但推理到一半又炸了:

unexpected EOF

——内存不够了,进程在回答中途被系统一刀切,连接断开。

修复:永远不要用 bf16 格式。手机上只能用 q4_K_M 或更低的量化版本。最终换成了 qwen2.5-coder:7b(q4_K_M),12GB 手机完美运行。

教训:手机上不跑任何非量化模型。q4_K_M 是甜点,q3_K_M 也能用但质量下降明显。


坑② 以为量化标签要写全,结果根本搜不到模型

场景:在 vivo 上拉模型,手写了完整量化标签:

ollama pull qwen2.5-coder:7b-instruct-q4_K_M
ollama pull qwen3:8b-q4_K_M

结果:前者拉下来了(碰巧 Ollama 做了模糊匹配),但后者和各种带 -instruct-q4_K_M 后缀的都严重混乱,根本不确定自己拉的是什么。

原因:Ollama 的官方拉取命令是不带量化标签的,写 qwen3:8b 就行,它会自动选最优量化版本(默认就是 q4_K_M)。

修复:统一用最简名称:

ollama pull qwen3:8b           # ✅ 正确
ollama pull qwen2.5-coder:7b   # ✅ 正确

ollama list 可以查看已安装模型的精确信息。


坑③ 把不存在的东西当存在,浪费大量时间搜索

这是最尴尬的坑——在 Ollama 官网上反复核实之前,推荐了多个根本不存在的模型。

我推荐过的(误报)真相
qwen3-coder:8bqwen3-coder 系列只有 30B 和 480B,没有 8B
qwen3-coder:8b-q4_K_M同上,不存在
tinyllama:1.1b-q4正确名称是 tinyllama 或 tinyllama:1.1b,没有 -q4 tag
OnePlus 3 跑 qwen3:8b一开始兴奋地说 6GB 能跑 8B,算完才发现 5.5GB 模型 + 系统开销 ≈ 6.5GB,根本不够

修复:去 ollama.com/search 逐模型核实。现在这篇文章里的所有模型名称都已验证。


坑④ OnePlus 3(Kali NetHunter)拉模型报 file does not exist

场景:OnePlus 3 刷了 Kali NetHunter,手动下载了 ARM64 版 Ollama 放在 ~/Ollama/bin/ 目录。执行拉取命令:

./bin/ollama pull qwen3:4b

报错:

Error: pull model manifest: file does not exist

原因:根本乌龙——ollama serve 没启动。普通 Termux 安装后 service 自动启动,但手动安装版必须手动启动服务。没 serve 就 pull,Ollama 找不到本地模型存储路径。

修复:

# 先启动服务
~/Ollama/bin/ollama serve &

# 再拉模型
~/Ollama/bin/ollama pull qwen3:4b

教训:Kali NetHunter 手动安装 Ollama 后,每次开机都要先 serve,且必须用全路径——系统不在 PATH 里。


坑⑤ Chatbox 连不上,一直 403

场景:手机端装好 Chatbox,想连上 vivo 的 Ollama。

Chatbox 的「添加模型」里有一个「OpenAI Compatible」选项。我心想 Ollama 的 API 格式不就是兼容 OpenAI 的吗?果断选了。

填上 http://192.168.1.11:11434/v1,点击测试连接——403 Forbidden。

原因:选 OpenAI Compatible 模式后,Chatbox 实际发的请求路径是 /v1/chat/completions。但 Ollama 的 API 路径是 /api/chat,完全不同。

修复:在 Chatbox 中选择 「Ollama 原生模式」(不是 OpenAI Compatible),协议填 HTTP,端口填 11434,模型路径留空让它自动识别。


坑⑥ 下载中断留下损坏文件,死活拉不下来

场景:vivo 上拉 qwen3:8b,网络波动导致下载中断。重新执行 ollama pull,每次都报错:

Error: pull model manifest: unexpected EOF

原因:中断留下了 .partial 损坏文件,Ollama 检测到已有文件就直接用了,导致每次都读损坏数据。

修复:

# 清理所有损坏的部分下载文件
rm -f ~/.ollama/models/blobs/*partial*

# 重新拉取
ollama pull qwen3:8b

坑⑦ 华为畅享 9 Plus 高估,以为能跑 1.5B 模型

场景:拿到华为畅享 9 Plus(4GB RAM)时想,虽然内存小但跑个 qwen2.5-coder:1.5b(约 1GB)总行吧?

结果拉是拉下来了,跑起来直接卡到手机发烫,终端一个字一个字往外蹦,比打字还慢。

原因:4GB 内存里系统就占了接近 2GB,剩下不到 2GB 可用。1.5B 的 q4 模型加载需要约 1.5GB,再加上推理时的上下文缓冲,内存直接爆炸,触发 swap 疯狂读写闪存。

修复:认命。4GB 设备唯一能用的就是 qwen2.5-coder:0.5b(398MB),输出质量勉强能看,做简单代码补全还行。旁边 6GB 的 OnePlus 3 跑 3B 模型都流畅,这就是硬件的残酷。


坑⑧ OLLAMA_HOST 忘了加 OLLAMA_ORIGINS

场景:服务启动成功,curl http://手机IP:11434/api/tags 在电脑上能返回数据。但 Chatbox 或其他 Web 客户端连过去就是报跨域错误。

原因:只设了 OLLAMA_HOST=0.0.0.0:11434 开放网络,但没设 OLLAMA_ORIGINS=* 允许跨域请求。Chatbox 前端发的是浏览器请求,浏览器有 CORS 限制。

修复:

# 两个环境变量要一起设
OLLAMA_ORIGINS=* OLLAMA_HOST=0.0.0.0:11434 ollama serve &
#  ^^^^^^^^^^^^^^^^   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#   允许跨域             允许局域网访问
#   缺一不可!           缺一不可!

踩坑总结

编号坑关键词血泪指数
①bf16 直接 OOM Kill量化格式🩸🩸🩸
②量化标签写太全反而搜不到模型名称🩸🩸
③推荐不存在的模型模型名称🩸🩸🩸🩸
④OnePlus 3 忘记 serve 就 pull手动安装🩸🩸🩸
⑤Chatbox 选错模式 403客户端连接🩸🩸
⑥下载中断 partial 损坏网络🩸🩸
⑦高估 4GB 手机能力硬件上限🩸🩸🩸
⑧忘记设 OLLAMA_ORIGINSCORS🩸🩸

如果这些坑能帮你少走弯路,那这周折腾就值了。


七、最终推荐方案

vivo Y300i(随身机)

vivo 是日常主力机,会带出门。所以在家时它是最强推理设备,出门后电脑就连不上了。

# 在家时的启动命令
OLLAMA_ORIGINS=* OLLAMA_HOST=0.0.0.0:11434 ollama serve &

📱 手机端用 Chatbox 选 Ollama 原生模式,地址填 127.0.0.1:11434——不管有没有 WiFi 都能连,因为是本机回环。

OnePlus 3 Kali(固定 7×24 服务器)

这才是真正好用的方案——扔家里插着电,装上模型后就一直开着,电脑随时连。

# 安装
~/Ollama/bin/ollama pull qwen3:4b             # L2+ · 通用主力
~/Ollama/bin/ollama pull qwen2.5-coder:3b     # L3  · 代码专家

# 设为开机自启(写入 rc.local 或 crontab @reboot)
OLLAMA_ORIGINS=* OLLAMA_HOST=0.0.0.0:11434 ~/Ollama/bin/ollama serve &

优势:骁龙 820 功耗低,24 小时开着不心疼。IP 固定,电脑端配一次就一劳永逸。

华为畅享 9 Plus(放弃或极限使用)

ollama pull qwen2.5-coder:0.5b    # L1 · 唯一实用

诚实建议:卖掉换钱。4GB 设备跑模型的体验太差了。


八、总结

设备主力模型L等级定位实用场景
vivo Y300iqwen3:8bL3+随身机在家时最强推理 + 出门自己用 Chatbox 连本机
OnePlus 3qwen3:4bL2+固定服务器7×24 不关机,电脑手机随时连
华为畅享 90.5bL1放弃已无实用价值

几个关键认知:

  1. 6GB 是实用门槛——低于这个配置体验很差
  2. 8B 模型是甜点——能力接近 GPT-3.5,12GB 手机就能跑
  3. q4_K_M 量化最稳——兼顾质量与内存
  4. 随身机 + 固定服务器是最好的组合——家里跑推理用最强配置的 vivo,出门后 OnePlus 3 继续服务
  5. OnePlus 3 刷 Kali 是意外惊喜——功耗低、不出门、完整 Linux,完美 7×24 服务器

旧手机不需要吃灰。刷个 Kali,装个 Ollama,它就是你的私有 AI 服务器。


最后更新:2026-06-22


附录:模型名称验证记录

以下所有推荐模型均已通过 ollama.com 逐一核实(核查日期:2026-06-22):

模型名称官方页面验证状态
qwen3:0.6bollama.com/library/qwe…✅ 523MB
qwen3:1.7bollama.com/library/qwe…✅ 1.4GB
qwen3:4bollama.com/library/qwe…✅ 2.5GB
qwen3:8bollama.com/library/qwe…✅ 5.2GB
qwen3:14bollama.com/library/qwe…✅ 9.3GB
qwen2.5-coder:0.5bollama.com/library/qwe…✅ 398MB
qwen2.5-coder:1.5bollama.com/library/qwe…✅ 986MB
qwen2.5-coder:3bollama.com/library/qwe…✅ 1.9GB
qwen2.5-coder:7bollama.com/library/qwe…✅ 4.7GB
qwen2.5-coder:14bollama.com/library/qwe…✅ 9.0GB
tinyllamaollama.com/library/tin…✅ 638MB
tinyllama:1.1bollama.com/library/tin…✅ 同上(latest 即 1.1b)