核心概念:SVN vs. Git
请务必理解一个关键点:SVN (Subversion) 和 Git 是两种完全不同的版本控制系统。

- SVN (集中式版本控制):有一个中央服务器,所有代码都存放在那里,开发者从服务器检出代码,修改后提交回服务器,你的设备(Android手机/平板)更像一个“客户端”,用来和这个中央服务器交互。
- Git (分布式版本控制):每个开发者的电脑上都有一份完整的代码仓库历史,GitHub, GitLab, Bitbucket 都是基于 Git 的平台。
你不能直接在 Android 上像操作 Git 仓库一样操作 SVN。 你需要使用专门的 SVN 客户端工具。
使用 SVN 客户端 App (强烈推荐)
这是最直接、最简单、最适合在移动设备上操作的方式,你只需要在 Android 设备上安装一个支持 SVN 的客户端 App,然后通过它来执行检出、提交、更新等操作。
推荐的 App
- SVNClient:功能强大,界面友好,支持多种认证方式,是 Android 平台上非常受欢迎的 SVN 客户端。
- SmartSVN:PC 端非常有名的 SVN 工具,其移动版也做得不错,适合有 PC 端使用习惯的用户。
- Commander One:一个强大的文件管理器,内置了 SVN 插件,可以让你在文件管理器中直接进行 SVN 操作。
详细步骤 (以 SVNClient 为例)
-
准备工作
- 确保你的 SVN 仓库地址、用户名和密码都已准备就绪。
- 确保你的 Android 设备可以访问 SVN 服务器的网络(通常是公司内网或公网)。
-
安装 App
(图片来源网络,侵删)在 Google Play 商店搜索 "SVNClient" 或 "SmartSVN",下载并安装。
-
检出仓库
- 打开 SVNClient App。
- 点击主界面的 "+" 或 "Checkout" 按钮。
- 输入仓库信息:
- URL: 你的 SVN 仓库地址 (
svn://your.server.com/project/trunk或https://svn.example.com/repo)。 - Directory: 你想在手机哪个位置存放检出的代码,App 通常会提供一个默认的目录,
/storage/emulated/0/Documents/MyProject。
- URL: 你的 SVN 仓库地址 (
- 认证信息:
- 如果你的仓库需要用户名和密码,请勾选 "Use authentication" 并填入。
- 高级选项:如果服务器使用自签名证书(内网常见),你可能需要在认证设置中勾选 "Accept all server certificates" 或类似选项,否则会提示证书不受信任。
- 点击 "Checkout" 或 "确定",App 会开始从服务器下载代码到你的手机,这个过程可能会比较慢,取决于代码库大小和网络速度。
-
执行 SVN 操作
- 检出成功后,你会在 App 的主界面看到你的项目文件夹。
- 查看修改:点击项目文件夹,App 会扫描文件,并列出所有被修改过的文件。
- 提交更改:
- 勾选你想要提交的文件。
- 点击底部的 "Commit" 按钮。
- 输入提交日志,说明你做了哪些修改。
- 点击 "Commit" 确认上传,App 会将你的修改发送到 SVN 服务器。
- 更新代码:
在项目文件夹界面,点击 "Update" 按钮,这会从服务器拉取最新的代码,合并到你的本地副本。
(图片来源网络,侵删) - 添加新文件/文件夹:
- 在 App 的文件浏览器中,找到你想要添加的文件。
- 长按该文件,在菜单中选择 "Add to version control"。
- 然后像提交修改一样,执行 Commit 操作。
使用 ADB 和 PC 端 SVN 命令行 (高级用户)
这种方法比较“绕”,但如果你已经习惯了 PC 端的命令行操作,并且没有合适的 SVN 客户端 App,可以一试。
原理:通过 Android Debug Bridge (ADB) 将你的 Android 设备变成一个“远程终端”,然后在 PC 上执行命令,通过这个“终端”在 Android 设备上操作 SVN。
详细步骤
-
准备工作
- PC 端:已安装 SVN 命令行工具 (Windows 上的 SlikSVN, TortoiseSVN 的命令行组件,或 macOS/Linux 自带的
svn)。 - Android 设备:
- 开启“USB 调试”模式:在 “设置” -> “关于手机” 中连续点击 “版本号” 7 次,即可开启 “开发者选项”,然后在 “开发者选项” 中找到并开启 “USB 调试”。
- 确保设备被识别:用 USB 数据线连接手机和 PC,在 PC 上打开命令行工具(如 Windows 的 CMD 或 PowerShell),输入
adb devices,如果能看到你的设备序列号,说明连接成功。
- SVN 仓库信息:仓库地址、用户名、密码。
- PC 端:已安装 SVN 命令行工具 (Windows 上的 SlikSVN, TortoiseSVN 的命令行组件,或 macOS/Linux 自带的
-
在 Android 设备上创建工作目录
- 在手机上创建一个文件夹,例如在内部存储根目录创建
svn_work。 - 通过 ADB 推送一个空的
.svn文件夹进去(可选,但有助于 SVN 识别),更简单的方式是直接用命令行初始化。
- 在手机上创建一个文件夹,例如在内部存储根目录创建
-
执行命令
- 在 PC 的命令行窗口,使用
adb shell命令进入设备的 Linux 环境。adb shell
- 现在你就在 Android 设备的终端里了,使用
cd命令切换到你之前创建的工作目录。cd /sdcard/svn_work
- 执行 SVN 命令:你输入的所有
svn命令都会在 Android 设备上执行。- 检出仓库:
svn checkout svn://your.server.com/project/trunk .
注意命令末尾的 表示检出到当前目录。
- 提交更改:
# 假设你已经修改了某个文件 svn commit -m "这是从手机提交的日志"
系统会提示你输入用户名和密码。
- 更新代码:
svn update
- 检出仓库:
- 在 PC 的命令行窗口,使用
-
退出
- 操作完成后,输入
exit退出adb shell,然后可以断开 USB 连接。
- 操作完成后,输入
这种方法的缺点
- 非常繁琐:需要连接数据线,操作不直观。
- 依赖 ADB:必须在 PC 上操作,失去了移动设备的便利性。
- 输入不便:在 PC 命令行里输入手机上的路径和密码比较麻烦。
- 错误处理困难:如果命令报错,排查起来比图形化 App 困难。
总结与建议
| 特性 | 方法一 (SVN 客户端 App) | 方法二 (ADB + 命令行) |
|---|---|---|
| 易用性 | ⭐⭐⭐⭐⭐ (非常简单,图形化界面) | ⭐ (非常复杂,命令行操作) |
| 便捷性 | ⭐⭐⭐⭐⭐ (随时随地,无需连接 PC) | ⭐ (必须连接 PC 和数据线) |
| 功能 | ⭐⭐⭐⭐ (满足基本日常需求) | ⭐⭐⭐⭐⭐ (支持所有 SVN 命令) |
| 适用人群 | 所有用户,尤其是开发者 | 高级用户,PC 端重度用户 |
| 推荐度 | ⭐⭐⭐⭐⭐ (强烈推荐) | ⭐⭐ (仅作为备选方案) |
最终建议:
对于绝大多数想在 Android 上进行 SVN 操作的用户,直接从应用商店下载一个像 "SVNClient" 这样的客户端 App 是最佳选择,它能让你像在电脑上一样方便地管理代码,随时随地提交你的修改。
只有在特定环境下(例如公司网络策略禁止安装第三方 App,或者你需要执行一些非常底层的 SVN 操作),才考虑使用第二种 ADB 的方法。
