From d1da5fa2da9690be94929e391a4e66b9986573bc Mon Sep 17 00:00:00 2001 From: Xavier Ducrohet Date: Wed, 20 Jan 2010 17:45:18 -0800 Subject: [PATCH] Revert "SDK doc change: Add doc update for NDKr3." This reverts commit 1dced50963312c5d340cbd129d0017d9cbb45f0b. --- docs/html/sdk/ndk/r3/index.jd | 394 ---------------------------------- docs/html/sdk/sdk_toc.cs | 3 +- 2 files changed, 1 insertion(+), 396 deletions(-) delete mode 100644 docs/html/sdk/ndk/r3/index.jd diff --git a/docs/html/sdk/ndk/r3/index.jd b/docs/html/sdk/ndk/r3/index.jd deleted file mode 100644 index 13dae7f342783..0000000000000 --- a/docs/html/sdk/ndk/r3/index.jd +++ /dev/null @@ -1,394 +0,0 @@ -ndk=true -ndk.rel.id=3 -ndk.date=January 2010 - -ndk.win_download=android-ndk-r3-windows.zip -ndk.win_bytes=36470676 -ndk.win_checksum=623311259d601e1fd3daccf8b3e24e04 - -ndk.mac_download=android-ndk-r3-darwin-x86.zip -ndk.mac_bytes=38255513 -ndk.mac_checksum=3b2f41ea46549724c938416a98731166 - -ndk.linux_download=android-ndk-r3-linux-x86.zip -ndk.linux_bytes=37400526 -ndk.linux_checksum=08f3754f541e2b9563d371482656617a - -page.title=Android NDK, Release 3 -@jd:body - -

What is the Android NDK?

- -

The Android NDK provides tools that allow Android application developers -to embed components that make use of native code in their Android applications. -

- -

Android applications run in the Dalvik virtual machine. The NDK allows -developers to implement parts of their applications using native-code languages -such as C and C++. This can provide benefits to certain classes of applications, -in the form of reuse of existing code and in some cases increased speed.

- -

The NDK provides:

- - - -

This release of the NDK supports two ARM instruction sets:

- - -

ARMv5TE machine code will run on all ARM-based Android devices. ARMv7-A will -run only on devices such as the Verizon Droid or Google Nexus One that have a -compatible CPU. The main difference between the two instruction sets is that -ARMv7-A supports hardware FPU and Thumb-2 instructions. You can target either or -both of the instruction sets — ARMv5TE is the default, but switching to -ARMv7-A is as easy as adding a single line to the application's Application.mk -file, without needing to change anything else in the file. You can also build -for both architectures at the same time and have everything stored in the final -.apk. Complete information is provided in the CPU-ARCH-ABIS.TXT in the NDK -package.

- -

The NDK provides stable headers for libc (the C library), libm (the Math -library), OpenGL ES (3D graphics library), the JNI interface, and other -libraries, as listed in the section below.

- -

The NDK will not benefit most applications. As a developer, you will need -to balance its benefits against its drawbacks; notably, using native code does -not result in an automatic performance increase, but does always increase -application complexity. Typical good candidates for the NDK are self-contained, -CPU-intensive operations that don't allocate much memory, such as signal processing, -physics simulation, and so on. Simply re-coding a method to run in C usually does -not result in a large performance increase. The NDK can, however, can be -an effective way to reuse a large corpus of existing C/C++ code.

- -

Please note that the NDK does not enable you to develop native-only -applications. Android's primary runtime remains the Dalvik virtual machine.

- -

Contents of the NDK

- -

Development tools

- -

The NDK includes a set of cross-toolchains (compilers, linkers, etc..) that -can generate native ARM binaries on Linux, OS X, and Windows (with Cygwin) -platforms.

- -

It provides a set of system headers for stable native APIs that are -guaranteed to be supported in all later releases of the platform:

- - - -

The NDK also provides a build system that lets you work efficiently with your -sources, without having to handle the toolchain/platform/CPU/ABI details. You -create very short build files to describe which sources to compile and which -Android application will use them — the build system compiles the sources -and places the shared libraries directly in your application project.

- -

Important: With the exception of the -libraries listed above, native system libraries in the Android platform are -not stable and may change in future platform versions. -Your applications should only make use of the stable native system -libraries provided in this NDK.

- -

Documentation

- -

The NDK package includes a set of documentation that describes the -capabilities of the NDK and how to use it to create shared libraries for your -Android applications. In this release, the documentation is provided only in the -downloadable NDK package. You can find the documentation in the -<ndk>/docs/ directory. Included are these files:

- - - -

Additionally, the package includes detailed information about the "bionic" -C library provided with the Android platform that you should be aware of, if you -are developing using the NDK. You can find the documentation in the -<ndk>/docs/system/libc/ directory:

- - - -

Sample applications

- -

The NDK includes four sample Android applications that illustrate how to use -native code in your Android applications:

- - - -

For more information, see Using the Sample -Applications.

- -

System and Software Requirements

- -

The sections below describe the system and software requirements for using -the Android NDK, as well as platform compatibility considerations that affect -appplications using libraries produced with the NDK.

- -

The Android SDK

- - -

Supported operating systems

- - -

Required development tools

- - -

Android platform compatibility

- - -

Installing the NDK

- -

Installing the NDK on your development computer is straightforward and -involves extracting the NDK from its download package and running a host-setup -script.

- -

Before you get started make sure that you have downloaded the latest Android SDK and upgraded your applications -and environment as needed. The NDK will not work with older versions of the -Android SDK. Also, take a moment to review the System -and Software Requirements for the NDK, if you haven't already.

- -

To install the NDK, follow these steps:

- -
    -
  1. From the table at the top of this page, select the NDK package that is -appropriate for your development computer and download the package.
  2. -
  3. Uncompress the NDK download package using tools available on your computer. -When uncompressed, the NDK files are contained in a directory called -android-ndk-<version>. You can rename the NDK directory if -necessary and you can move it to any location on your computer. This -documentation refers to the NDK directory as <ndk>.
  4. -
  5. Open a terminal, change to the NDK directory, and run the host-setup script. -The script sets up your environment and generates a host configuration file used -later, when building your shared libraries. The path to the host-setup script -is: - -

    <ndk>/build/host-setup.sh

    - -

    If the script completes successfully, it prints a "Host setup complete." -message. If it fails, it prints instructions that you can follow to correct any -problems.

    -
  6. -
- -

Once you have run the host-setup script, you are ready start working with the -NDK.

- -

Getting Started with the NDK

- -

Once you've installed the NDK successfully, take a few minutes to read the -documentation included in the NDK. You can find the documentation in the -<ndk>/docs/ directory. In particular, please read the -OVERVIEW.TXT document completely, so that you understand the intent of the NDK -and how to use it.

- -

If you used a previous version of the NDK, take a moment to review the -list of NDK changes in the CHANGES.TXT document.

- -

Here's the general outline of how you work with the NDK tools:

- -
    -
  1. Place your native sources under -<project>/jni/...
  2. -
  3. Create <project>/jni/Android.mk to -describe your native sources to the NDK build system
  4. -
  5. Create <ndk>/apps/<my_app>/Application.mk to -describe your Android application and native sources it needs to the NDK build -system. This file sets up the link between an Android SDK application project -and any number of shared libraries defined in the -<project>/jni/ folder and it specifies the path to the -application project that will receive the shared library built from the -sources.
  6. -
  7. Build your native code by running this make command from the top-level NDK -directory: - -

    $ make APP=<my_app>

    - -

    The build tools copy the stripped, shared libraries needed by your -application to the proper location in the application's project directory.

    -
  8. - -
  9. Finally, compile your application using the SDK tools in the usual way. The -SDK build tools will package the shared libraries in the application's -deployable .apk file.

  10. - -
- -

For complete information on all of the steps listed above, please see the -documentation included with the NDK package.

- - -

Using the Sample Applications

- -

The NDK includes four sample applications that illustrate how to use native -code in your Android applications:

- - - -

For each sample, the NDK includes an Android application project, as well as -the corresponding C source code and the necessary Android.mk and Application.mk -files. The application projects are provided in -<ndk>/apps/<app_name>/project/ and the C source for -each application is provided in -<ndk>/apps/<app_name>/project/jni/.

- -

Once you have installed the NDK, you can build the shared libraries from the -NDK by using these commands from the root of the NDK directory:

- - -

Next, build the sample Android applications that use the shared -libraries:

- - - -

Discussion Forum and Mailing List

- -

If you have questions about the NDK or would like to read or contribute to -discussions about it, please visit the android-ndk group and -mailing list.

- - diff --git a/docs/html/sdk/sdk_toc.cs b/docs/html/sdk/sdk_toc.cs index 8ef1176ac2475..556f78164241b 100644 --- a/docs/html/sdk/sdk_toc.cs +++ b/docs/html/sdk/sdk_toc.cs @@ -126,8 +126,7 @@ Windows, r3 new!