Apache Harmony is retired at the Apache Software Foundation since Nov 16, 2011.

The information on these pages may be out of date, or may refer to resources that have moved or have been made read-only.
For more information please refer to the Apache Attic

Harmony Development Kit for the Apache Harmony

The Harmony Development Kit (HDK) allows a Harmony developer to rebuild any module of the Harmony Classlib or DRLVM in a standalone way by providing all the necessary supplementary binaries and header files. HDK bundles are available for download as a standard part of regular Harmony builds (nightly, stable, etc). This document describes the layout of such an HDK and its contents.

Layout of the HDK

An HDK contains all the header files and binaries, both native and Java, required for a Harmony developer to build against. The directory structure for an HDK is as follows:

<hdkbase>
    |
    |---build
    |     |---make
    |     |---patternsets
    |     \---test
    |
    |---jdk
    |    |---jre
    |    \---include
    |
    |---include
    |
    \---lib
The directories laid out above are used in the following manner:

Building Classlib Against an HDK

Note

The HDK and relevant build system changes are work in progress. Not all of the Ant targets/properties described exist yet, and thus not all of what is described below currently works. This disclaimer will be removed once work on the HDK is completed.

The Harmony Class Library can be built at the global or modular level. At the modular level, there are three ways to build:

Example

If you wanted to build only the luni module against an HDK, and put the resulting artifacts into a separate target directory, do the following:

  1. Checkout the luni module
  2. cd into the root directory of the module
  3. Execute ant -Dhy.hdk=path/to/hdk -DHY.TARGET=path/to/target

The luni Java and native code will be built against the HDK location specified, and all produced binaries placed under the target directory, laid out in the HDK structure described at the top of this page.

Back to top