<html><body><pre>Android NDK Installation

Introduction:
-------------

Please read docs/OVERVIEW.html to understand what the Android NDK is and is not.
This file gives instructions on how to properly setup your NDK.


I. Requirements:
----------------

The Android NDK currently requires a Linux, OS X or Windows host operating system.

Windows users will need to install Cygwin 1.7 or later (http://www.cygwin.com) to
use the NDK. Note that running it under MSys or Cygwin 1.5 is not supported.

You will need to have the Android SDK and its dependencies installed. The NDK
cannot generate final application packages (.apk files), only the shared library
files that can go into them.


IMPORTANT:
    The Android NDK can only be used to target system images using
    the Cupcake (1.5) or later releases of the platform.

    This is due to subtle toolchain and ABI related changed that make
    it incompatible with 1.0 and 1.1 system images.

The NDK requires GNU Make 3.81 or later being available on your development
system. Earlier versions of GNU Make might work but have not been tested.

You can check this by running 'make -v' from the command-line. The output
should look like:

    GNU Make 3.81
    Copyright (C) 2006  Free Software Foundation, Inc.
    ...

On certain systems, GNU Make might be available through a different command like
'gmake' or 'gnumake'. For these systems, replace 'make' by the appropriate command
when invoking the NDK build system as described in the documentation. You might
also want to define the GNUMAKE environment variable to point to it.

The NDK also requires a Nawk or GNU Awk executable being available on your
development system. Note that the original 'awk' program doesn't implement
the 'match' and 'substr' functions used by the NDK build system.


II. Preparing your installation prebuilt cross-toolchain binaries:
------------------------------------------------------------------

Previous releases required you to run the 'build/host-setup.sh' script to
configure the NDK. However, this step has been removed in release 4 (a.k.a. r4).

The auto-detection and sanity checks that were performed by the script have
been moved into the NDK makefiles (and are now performed each time you invoke
GNU Make).
</pre></body></html>