Home » Android » Cygwin for Android-NDK programming

Cygwin for Android-NDK programming

Posted by: admin May 14, 2020 Leave a comment

Questions:

I read about the requirements of NDK programming on Windows which said we require Cygwin.Read about Cygwin which said we require it coz it is a way to make Windows support some linux functionality.But my question is in which stage of programming(Where Exactly) Cygwin will be required and why? Addidtional info about this topic is most welcomed

How to&Answers:

Android NDK starting with revision 7 doesn’t require Cygwin. See here: http://developer.android.com/sdk/ndk/index.html

You can now build your NDK source files on Windows without Cygwin by calling the ndk-build.cmd script from the command line from your project path. The script takes exactly the same arguments as the original ndk-build script. The Windows NDK package comes with its own prebuilt binaries for GNU Make, Awk and other tools required by the build. You should not need to install anything else to get a working build system.

It mentions you can not use ndk-gdb script without Cygwin. While that is true, you can actually use gdb executable directly without Cygwin, only then you’ll need to set it up properly manually.

Answer:

  1. At least NDK-r8b, if you want to build your .so, you don’t need Cygwin.
  2. However, if you want to use ndk-gdb to debug your native code,you have to use Cygwin.
  3. And, in my experiment, if you ndk-gdb your native under Cygwin to debug native code which is built from windows cmd, ndk-gdb seems cannot recognize the debug info. So, for debug purpose, I build native Cygwin.

Answer:

Make command to execute Android.mk file.

Android.mk file consists of list of c/c++ files to be compiled and also the library name(.so).

Answer:

(from NDK-r8e NDK-GDB document) At the moment ‘ndk-gdb’ requires a Unix shell to run. This means that Cygwin is required to run it on Windows. We hope to get rid of this limitation in a future NDK release.

Answer:

Cygwin is a collection of tools which provide a Linux look and feel environment for Windows.
http://www.cygwin.com/