Cling - Java/Android UPnP library and tools
Cling is a UPnP-compatible software stack for Java environments. The project's goals are
strict specification compliance, complete, clean and extensive APIs, as well as rich
SPIs for easy customization.
The current stable release of Cling is 1.0.5 (2011-09-22), see
the Changelog for a summary of improvements and
the Road Map for future plans.
The current testing release of Cling is 2.0-alpha3 (2014-01-22), you can
download the ZIP or
clone the source. Please report
bugs on our mailinglist or submit tickets
on the issue tracker.
You can also find snapshot builds of the current development trunk
here or include version
2.0-SNAPSHOT as a dependency in your Maven build.
chapter of the manual for a simple Cling usage example.
Main modules of Cling are:
An embeddable Java library that implements the
UPnP Device Architecture 1.0. Use
Cling Core to expose services with a UPnP remoting interface, or to write control point applications
that discover UPnP devices and utilize their services. You can also integrate
Cling Core as
an Android UPnP/DLNA library in your applications (platform level 7/2.1 required).
The full source code of the Android UPnPBrowser example of the manual can be
found here. You can see the application in
action in this
Optional classes and useful infrastructure for developing and controlling UPnP services with
Cling Core; extensions that simplify working with UPnP media servers and renderers,
mapping on routers, etc.
A desktop application for browsing UPnP devices and interacting with their services, including
an HTTP gateway and WAN/LAN bridge.
Standalone UPnP MediaRenderer, based on gstreamer.
Cling 1.x is Free Software, distributed under the terms of
the GNU Lesser General Public License.
For bundling Cling in proprietary Android applications, read the
static linking exception FAQ.
Cling 2.x is Free Software, distributed under the terms of
the GNU Lesser General Public
License or at your option the Common
Development and Distribution License.