核心概念澄清:为什么需要 Cygwin?
在开始之前,最重要的一点是理解 Cygwin 的作用。

- Android 开发的主流方式:Google 官方推荐的 Android 开发环境是 Android Studio,它基于强大的 IntelliJ IDEA,并集成了 SDK Manager、AVD Manager、模拟器、性能分析器等所有必要工具,对于绝大多数开发者来说,Android Studio 是唯一需要安装的 IDE。
- Cygwin 的角色:Cygwin 是一个在 Windows 上模拟 Linux 环境的工具,它不是一个完整的 Linux 系统,而是一个“兼容层”,在 Android 开发中,Cygwin 主要用于以下场景:
- NDK 开发:当你需要使用 C/C++ 编写原生代码时,一些 NDK 的构建脚本(尤其是较老的版本)可能会依赖 Linux 的 Shell 命令(如
bash,make,sed等),Cygwin 提供了这些命令。 - 习惯 Linux 命令行的开发者:如果你非常熟悉 Linux/Unix 的命令行操作(
ls,cd,grep,ssh等),Cygwin 可以让你在 Windows 上获得类似的工作体验,方便你操作 Git、编译代码等。 - 特定工具依赖:一些开源工具或脚本可能要求在 Linux 环境下运行。
- NDK 开发:当你需要使用 C/C++ 编写原生代码时,一些 NDK 的构建脚本(尤其是较老的版本)可能会依赖 Linux 的 Shell 命令(如
如果你只是进行纯 Java/Kotlin 的 App 开发,你完全不需要安装 Cygwin,Android Studio 自带的终端已经足够强大,只有当你明确需要 NDK 开发或对 Linux 命令行有强烈需求时,才需要按此教程安装 Cygwin。
准备工作
- Windows 系统:Windows 7, 8, 10 或 11 (64位系统推荐)。
- 管理员权限:安装过程中可能需要管理员权限。
- 稳定网络:Cygwin 的安装包需要从网络下载大量文件,请确保网络连接稳定。
- 下载 Cygwin 安装程序:
- 访问 Cygwin 官网:https://www.cygwin.com/
- 点击首页的 "Install Cygwin" 按钮,会自动下载一个名为
setup-x86_64.exe(64位) 或setup-x86.exe(32位) 的文件。请务必下载 64位版本。
详细安装步骤
第一步:运行安装程序
双击你下载的 setup-x86_64.exe 文件,启动 Cygwin 安装向导。
-
选择安装模式
- 选择 Install from Internet,然后点击 "Next"。
- (推荐)Install from Local Directory:如果你已经下载过完整的 Cygwin 包,可以使用此模式离线安装,但对于初次安装,选择从网络下载最简单。
-
选择安装根目录
(图片来源网络,侵删)- Root Directory:这是 Cygwin 的“根”目录,所有文件都会安装在这里,默认路径是
C:\cygwin。强烈建议不要修改这个默认路径,因为它包含空格和中文可能会导致后续各种意想不到的兼容性问题。 - Install For:选择 All Users (所有用户) 或 Just Me (仅当前用户),根据你的需要选择,一般选 All Users 即可。
- Default Text File Type:选择
Unix,这会影响文本文件的换行符格式,对开发很重要。 - 点击 "Next"。
- Root Directory:这是 Cygwin 的“根”目录,所有文件都会安装在这里,默认路径是
-
选择本地临时目录
- 这是在下载过程中存放临时文件的地方,可以使用默认的
C:\cygwin\var\cache\setup。 - 点击 "Next"。
- 这是在下载过程中存放临时文件的地方,可以使用默认的
-
选择下载镜像站点
- 安装程序会尝试自动检测最快的镜像源,你也可以手动选择一个离你地理位置近的镜像,以加快下载速度。
- 从列表中选择一个(
mirrors.kernel.org或mirrors.tuna.tsinghua.edu.cn等),然后点击 "Next"。 - (可选)如果你在国内,选择清华大学的镜像源
mirrors.tuna.tsinghua.edu.cn通常速度会非常快。
-
选择要安装的包
-
这是最关键的一步,你需要在这里选择安装 Cygwin 的核心组件以及后续 Android 开发可能需要的工具。
(图片来源网络,侵删) -
在 "View" 下拉菜单中,选择 "Full",这样可以显示所有可用的包。
-
在下方的搜索框中输入包名,可以快速定位。
-
双击包名 "Skip" -> "Install" 来选中并安装,你需要安装以下几类包:
-
A. 基础开发工具
make: 强大的构建工具,NDK 开发必备。gcc-g++: C/C++ 编译器。python3: Python 3 解释器,很多脚本需要它。git: 版本控制工具。openssh: 提供ssh命令,用于连接远程服务器。wget/curl: 命令行下载工具。
-
B. Shell 和常用工具
bash: Cygwin 的默认 Shell。zsh: 一个更强大的 Shell,可选安装。vim/nano: 命令行文本编辑器。tree: 以树状结构显示目录内容。htop: 类似 Linux 的任务管理器。less/more: 分页显示文件内容。
-
C. 网络工具
curl: 同上,非常常用。wget: 同上。netcat/nc: 网络工具,用于调试网络连接。
-
D. Android NDK 可能需要的工具
sed: 流编辑器。patch: 打补丁工具。autoconf/automake: 自动配置工具。
-
-
开始下载和安装
- 确认你的包列表无误后,点击 "Next"。
- 安装程序会开始从你选择的镜像站点下载所有选中的包并进行安装,这个过程可能需要几分钟到几十分钟,具体取决于你的网络速度和选择的包数量。
- 安装完成后,会显示 "Installation complete" 信息,点击 "Finish" 即可。
配置与使用
启动 Cygwin
- 安装完成后,你可以在 Windows 的开始菜单中找到 "Cygwin Terminal" 或 "Cygwin64 Terminal"。
- 点击它,会弹出一个类似 Linux 终端的黑色窗口,这就是你的 Cygwin 环境。
- 默认的 home 目录是
C:\cygwin\home\你的用户名,你可以通过cd ~命令快速返回。
配置环境变量
为了让 Cygwin 更好用,可以配置一些基本的环境变量。
-
编辑
.bash_profile文件:- 在 Cygwin 终端中输入:
vim ~/.bash_profile
vim你不熟悉,也可以用nano:nano ~/.bash_profile
- 在 Cygwin 终端中输入:
-
添加常用别名: 在文件末尾添加以下内容,可以让你使用更短的命令(
ll代替ls -alF)。# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs export PATH=$PATH:. # --- 以下为自定义别名 --- # 显示文件和目录,以彩色显示,并附加文件类型标识 alias ls='ls -F --color=auto' # 列出所有文件,包括隐藏文件,以长格式显示 alias ll='ls -alF' # 清空屏幕 alias cls='clear' # 快速进入 Android SDK 的 platform-tools 目录 # 注意:下面的路径需要根据你自己的 SDK 安装路径进行修改! alias android_sdk='cd /cygdrive/c/Users/你的用户名/AppData/Local/Android/Sdk/platform-tools' -
使配置生效: 保存并关闭文件后,在终端中运行以下命令让配置立即生效:
source ~/.bash_profile
现在你可以尝试输入
ll,应该能看到一个更友好的文件列表了。
Windows 与 Cygwin 路径转换
-
Windows 路径 -> Cygwin 路径:
- Windows 的
C:\Users\YourName在 Cygwin 中表示为/cygdrive/c/Users/YourName。 - 规律是:
盘符->/cygdrive/+盘符小写,然后后面的路径保持不变,用 隔开。
- Windows 的
-
Cygwin 路径 -> Windows �路径:
- Cygwin 的
/cygdrive/c/Windows在 Windows 命令提示符中可以直接使用,但有些程序可能不认识,你可以使用 Cygwin 提供的cygpath工具进行转换。 - 在 Cygwin 终端中:
# 将 Cygwin 路径转换为 Windows 格式 cygpath -w /cygdrive/c/Windows # 输出: C:\Windows
将当前路径转换为 Windows 格式
cygpath -w .
- Cygwin 的
常见问题与解决方案
-
问题:
bash: command not found或其他命令找不到。- 原因:该命令对应的包没有安装成功。
- 解决:重新运行
setup-x86_64.exe,选择 "Keep",然后找到对应的包,确保其状态是 "Install" 版本,重新安装。
-
问题:
Permission denied权限错误。- 原因:在 Windows 上,某些文件(如
C:\根目录下的文件)默认不允许修改。 - 解决:避免在 Cygwin 中直接操作 Windows 的系统盘根目录,将你的项目文件放在
C:\cygwin\home\你的用户名或其他你拥有完全控制权的目录下。
- 原因:在 Windows 上,某些文件(如
-
问题:路径问题,程序找不到文件。
- 原因:混合使用 Windows 和 Cygwin 路径格式。
- 解决:始终坚持使用一种路径格式,在 Cygwin 环境下,优先使用 Cygwin 的
/cygdrive/...格式,如果需要将路径传递给 Windows 程序,使用cygpath -w进行转换。
-
问题:中文显示乱码。
- 原因:Windows 和 Cygwin 的字符编码设置不一致。
- 解决:
- 在 Cygwin 终端中,右键点击标题栏 -> "Options" -> "Text"。
- 确保 "Locale" 设置为
zh_CN.UTF-8。 - 确保 "Character set" 设置为
UTF-8。 - 在你的
.bash_profile中可以添加export LANG=zh_CN.UTF-8来强制设置语言环境。
恭喜你,现在你已经成功在 Windows 上安装并配置了 Cygwin!
- 回顾:你学习了如何下载、安装 Cygwin,并选择了必要的开发工具包。
- 下一步:
- 熟悉基本的
ls,cd,pwd,mkdir,rm,cp,mv等命令。 - 尝试使用
git克隆一个代码仓库。 - 如果你有 Android NDK 开发的需求,现在可以在 Cygwin 中运行
ndk-build等脚本了。
- 熟悉基本的
Cygwin 是一个强大的辅助工具,但不要让它成为你的负担,对于日常的 Android App 开发,Android Studio 仍然是你的主力军,祝你学习愉快!
