如果你希望在不依赖云服务器的情况下,在 Android 手机上直接运行本地大模型,那么 llama.cpp + Termux 是目前最实用、门槛相对最低的一条路线。
它的优势很明显:离线可用、隐私可控、成本低、可折腾空间大。

这篇文章给你一份“从 0 到可聊天”的完整流程:

  • 在 Android 上安装 Termux
  • 编译并安装 llama.cpp
  • 下载 GGUF 模型
  • 启动 llama.cpp 的 llama-server
  • 通过浏览器访问 WebUI 对话
  • 做基础性能优化和故障排查

适用人群:开发者、学生、极客玩家、移动端 AI 爱好者
预期结果:手机浏览器打开本地网页,直接与本地模型对话


一、先说结论:手机能跑,但要选对模型

Android 跑本地模型的关键不是“能不能跑”,而是“跑得是否可用”。
你要接受三个现实:

  1. 手机 CPU 推理速度远慢于桌面 GPU;
  2. 8B 模型在大多数手机上都偏吃力,建议先从 1B~3B 量化模型开始;
  3. 想要稳定体验,优先选择 Q4_K_M / Q5_K_M 等量化 GGUF 文件。

建议新手首选:

  • Qwen2.5-1.5B-Instruct GGUF
  • TinyLlama 1.1B GGUF
  • Phi-2 / Phi-3 mini 的小尺寸量化版本
    先跑通,再升级。

二、环境准备(非常关键)

1)安装 Termux(不要用 Play 商店旧版)

推荐来源:

  • F-Droid(官方维护版本)
  • 或 Termux GitHub Release

安装后首次打开,先更新系统:


bash

pkg update && pkg upgrade -y

2)开启存储访问权限


bash

termux-setup-storage

执行后系统会弹权限框,允许后可访问 /sdcard
建议把模型放在 /sdcard/AI/models,便于管理。

3)安装基础依赖


bash

pkg install -y git cmake clang make wget curl python pkg install -y libopenblas

说明:

  • clang/cmake 用于编译
  • openblas 用于加速 CPU 矩阵计算
  • python 后续可用于辅助前端或脚本

三、下载并编译 llama.cpp

1)拉取源码


bash

cd ~ git clone https://github.com/ggml-org/llama.cpp.git cd llama.cpp

2)编译(Android CPU 版本)


bash

cmake -B build \ -DGGML_OPENBLAS=ON \ -DCMAKE_BUILD_TYPE=Release cmake --build build -j4

如果你的手机核心更多,可以把 -j4 改成 -j6-j8,但注意发热和稳定性。

编译完成后,核心可执行文件一般在:

  • build/bin/llama-cli
  • build/bin/llama-server

你可以先测一下是否成功:


bash

./build/bin/llama-cli -h ./build/bin/llama-server -h


四、下载 GGUF 模型(建议先小后大)

你可以从 Hugging Face 下载量化模型(GGUF)。
示例:下载一个小模型到手机存储目录。


bash

mkdir -p /sdcard/AI/models cd /sdcard/AI/models wget "模型直链URL" -O qwen2.5-1.5b-instruct-q4_k_m.gguf

如果直链下载慢,可用镜像、代理,或先在电脑下载再拷贝到手机。

提醒:模型文件通常 1GB~6GB 不等,下载前确认剩余空间。
Android 上建议预留至少 10GB 可用空间,避免系统清理导致异常。


五、启动 llama-server 并打开 WebUI

这一步是核心:我们启动 llama-server,它提供 HTTP 接口,并可通过网页进行交互(不同版本页面略有差异)。


bash

cd ~/llama.cpp ./build/bin/llama-server \ -m /sdcard/AI/models/qwen2.5-1.5b-instruct-q4_k_m.gguf \ -c 2048 \ -t 4 \ --host 127.0.0.1 \ --port 8080

参数解释(实用版):

  • -m:模型路径
  • -c 2048:上下文长度,手机建议先 1024~2048
  • -t 4:线程数,通常设为大核数量附近
  • --host 127.0.0.1:仅本机访问更安全
  • --port 8080:服务端口

启动成功后,在手机浏览器打开:


text

http://127.0.0.1:8080

若版本自带 WebUI,会直接看到聊天页面。
若只看到 API 信息,也可通过 OpenAI 兼容接口接第三方前端(后面会讲)。


六、如果你要“局域网访问”这台手机模型

有时你希望电脑也能访问手机上的模型服务(同一 Wi-Fi)。
可将 host 改为 0.0.0.0


bash

./build/bin/llama-server \ -m /sdcard/AI/models/qwen2.5-1.5b-instruct-q4_k_m.gguf \ -c 2048 -t 4 \ --host 0.0.0.0 \ --port 8080

然后在手机里查 IP(如 192.168.1.23),电脑浏览器访问:


text

http://192.168.1.23:8080

安全建议:仅在可信局域网启用,外网不要裸露端口。


七、性能优化:让“能跑”变“可用”

Android 上优化非常重要,下面是最有效的几项:

1)优先换小模型,而不是硬堆参数

比起盲目升上下文、升并发,小模型+合理提示词通常体验更稳。

2)降低上下文长度

-c 4096 对手机压力很大,新手建议 1024~2048
上下文越长,速度越慢、内存越紧张。

3)合理设置线程

不是线程越多越快。
通常从 -t 2-t 4-t 6 实测,选“速度和发热”的平衡点。

4)尽量使用高效量化

Q4_K_M 常是质量/速度平衡较好的选择。
设备较弱就用更小量化;设备强再上 Q5/Q6。

5)散热与电源

  • 长时间推理建议边充电边散热(风扇/散热背夹)
  • 避免高温降频导致速度骤降

八、把它做成“常用服务”:一键启动脚本

每次手动输入命令太麻烦,可以写个脚本:


bash

cd ~ nano start-llama.sh

填入:


bash

#!/data/data/com.termux/files/usr/bin/bash cd ~/llama.cpp ./build/bin/llama-server \ -m /sdcard/AI/models/qwen2.5-1.5b-instruct-q4_k_m.gguf \ -c 2048 -t 4 \ --host 127.0.0.1 \ --port 8080

保存后执行:


bash

chmod +x ~/start-llama.sh ~/start-llama.sh

以后直接一条命令启动,省时很多。


九、常见报错与解决办法

1)CMake Error / 编译失败

  • 先 pkg update && pkg upgrade
  • 确认 clang cmake make 都安装了
  • 清理重编:

bash

cd ~/llama.cpp rm -rf build cmake -B build -DGGML_OPENBLAS=ON cmake --build build -j4

2)模型加载失败

  • 路径写错(最常见)
  • 模型不是 GGUF 格式
  • 文件没下完整(校验文件大小)

3)启动后浏览器打不开

  • 端口是否一致(8080)
  • host 是不是 127.0.0.1(只能本机)
  • 若局域网访问,需改成 0.0.0.0

4)运行一会儿被系统杀掉

  • Android 后台限制导致 Termux 被回收
  • 给 Termux 关闭电池优化、允许后台运行
  • 避免同时开太多重负载 App

5)回复很慢

  • 模型太大
  • 上下文过长
  • 线程设置不合理
  • 手机温度过高触发降频

十、进阶玩法:接入第三方 Web 前端

如果你觉得内置网页不够好看,可以把 llama-server 当 API 后端。
因为它支持 OpenAI 风格接口,理论上可接很多前端(需按项目兼容性配置)。
典型思路是:

  • Android 端:llama-server 提供 http://手机IP:8080/v1/...
  • 电脑端:运行 Web 前端并把 API Base 指向手机

这样手机负责推理,电脑负责界面,体验会更好。


十一、使用建议与边界预期

这套方案非常适合:

  • 离线问答
  • 本地草稿写作
  • 学习提示词工程
  • 演示“端侧 AI”能力
  • 轻量 RAG 实验(小规模)

但不适合:

  • 高并发在线服务
  • 长文档重推理
  • 复杂 Agent 多工具链路
  • 对延迟极其敏感的生产系统

换句话说,Android + Termux 是一个很棒的“便携实验室”,不是 GPU 服务器替代品。


结语

在 Android 上用 Termux 安装 llama.cpp 并启动 WebUI,本质上是把“大模型能力”塞进你的口袋。
只要你掌握三个关键点,这件事并不难:

  1. 用对环境:Termux 新版 + 正确依赖
  2. 选对模型:先小模型 GGUF,再逐步升级
  3. 调对参数:线程、上下文、量化平衡速度与质量

按本文步骤,你完全可以在一台普通 Android 手机上,搭建一个可离线聊天的本地 AI 系统。
如果你愿意,我下一步可以直接给你一份“按手机性能分档”的参数模板(低端/中端/高端三套),你复制就能跑。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐