.apkg 文件的导入与导出 —— Anki 的通用交换格式
.apkg vs .colpkg
Anki 有两种导出格式,不要搞混:
| 对比项 | .apkg(牌组包) | .colpkg(集合包) |
|---|---|---|
| 内容 | 一个或多个牌组 | 整个 collection(所有牌组) |
| 包含学习历史 | 可选 | 始终包含 |
| 包含媒体文件 | 可选 | 始终包含 |
| 导入效果 | 添加进当前 collection | 完全替换当前 collection |
| 典型用途 | 分享牌组、安装共享牌组 | 完整备份恢复 |
⚠️
.colpkg导入会覆盖手机上所有现有数据——导入前一定确认你是要恢复备份,不是要加新牌组。
从共享牌组站导入 .apkg
这是最常见的导入场景,详见 下载共享牌组。流程:
- AnkiWeb 共享牌组目录里下载
.apkg到手机 - 通知栏点"打开文件" → 选 AnkiDroid
- 确认导入 → 完成
手动导入已有的 .apkg
如果你手上已经有 .apkg 文件(从朋友那拷的、桌面版导出的、网盘下载的):
方式一:系统文件管理器触发(最常用)
- 手机文件管理器里找到
.apkg - 点它 → 系统弹出"打开方式"选择器 → 选 AnkiDroid
- AnkiDroid 弹出确认框 → 添加
- 导入完成,新牌组出现在列表里
方式二:AnkiDroid 里手动找
- 牌组列表 → 活动栏更多菜单 → 导入
- 文件选择器里定位到
.apkg - 确认导入
导入过程 AnkiDroid 会显示进度条,完成后回到牌组列表,新牌组已经在那儿了。
导出 .apkg(分享牌组)
把一个牌组打包分享给别人:
- 牌组列表 → 长按某个牌组
- 弹出菜单 → 导出牌组(Export)
- 对话框里选:
- 文件格式:选 .apkg(给别人分享用)或 .colpkg(自己备份用)
- 包含学习进度(Include scheduling information):
- ✅ 勾上 = 接收方导入后,卡片保持当前间隔和学习历史
- ❌ 不勾 = 接收方导入后所有卡片重置为新卡
- 包含媒体文件(Include media):勾上会把关联的图片/音频一起打包
- 确定后选择保存位置(默认在手机的 Download 或 AnkiDroid 目录)
分享给别人时勾不勾"学习进度"
- 分享给想直接用的人 → 不勾(让对方从新卡开始学)
- 分享给想继承你的进度的人 → 勾上(比如给家人备份)
导出整个 collection(.colpkg 备份)
活动栏更多菜单 → 导出牌组集合(Export collection):
- 始终包含所有牌组、所有学习历史、所有媒体
- 导出来是一个完整的备份文件,建议定期做
- 保存到手机外部存储或网盘,防止手机损坏丢失
导入冲突
如果导入的 .apkg 里的牌组名已经存在,AnkiDroid 会弹出冲突提示,让你选:
- 新建副本(Add):不覆盖,新建一个同名后缀的副本
- 替换现有(Replace):用新的完全覆盖旧的
一般选"新建副本"更安全,确认内容是对的再决定要不要删掉旧的。
.apkg 文件其实是什么
.apkg 本质是一个 ZIP 压缩包,里面包含:
- 一个 SQLite 数据库(牌组结构、卡片、笔记、学习历史)
- 媒体文件(如果勾了包含媒体)
可以把 .apkg 后缀改成 .zip 解压,看看里面的内容——这就是 Anki 的数据结构。了解这点对手动恢复备份有帮助(比如 AnkiDroid 坏了,可以解压 .colpkg 拿出里面的数据库和媒体手动放回 AnkiDroid 目录)。