wikiから:Cygwin(/ ˈsɪɡwɪn /、[2] SIG-winと発音)は、MicrosoftWindows用のUnixライクな環境およびコマンドラインインターフェイスです。Cygwinは、Windowsベースのアプリケーション、データ、およびその他のシステムリソースと、Unixライクな環境のアプリケーション、ソフトウェアツール、およびデータとのネイティブ統合を提供します。したがって、Cygwin環境からWindowsアプリケーションを起動したり、Windowsオペレーティングコンテキスト内でCygwinツールやアプリケーションを使用したりすることができます。Cygwinは、POSIX API機能の大部分を提供するAPI互換性レイヤーとしてのダイナミックリンクライブラリ(DLL)と、Unixのようなルックアンドフィールを提供するソフトウェアツールとアプリケーションの広範なコレクションの2つの部分で構成されています。
つまり、Cygwinは、Windowsマシン上でUNIXライクな(またはLinux)環境をエミュレートできるようにするツールのセットです。
NDKはAndroidネイティブ開発キットです。これにより、アプリケーションの一部をネイティブコード(C / C ++)で記述し、それらをアプリケーションに統合することができます。アプリケーションは引き続きDalvikVMで実行されますが、クロスコンパイラを使用して作成する共有オブジェクトをロードできます。NDKには、ネイティブコードバイナリを生成するために必要なすべてのツールとビルドスクリプトが含まれています。これは高度な概念であり、アーキテクチャを完全に理解するまで待つ必要があります。
Cygwin(またはLinuxの一部のフレーバー)が必要な理由は、GnuMakeおよびawkやNawkなどの他のLinuxツールを使用しているためです。これらのツールはWindowsプラットフォームでは利用できない(または実際には使いにくい)ため、少なくともCygwinが必要です(ただし、Linuxをインストールすることをお勧めします)。