/**************************************************************************
**
** Copyright (c) 2013 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of Qt Creator
**
**
** GNU Free Documentation License
**
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of this
** file.
**
**
**************************************************************************/

    /*!

    \contentspage index.html
    \previouspage creator-connecting-mobile.html
    \page creator-developing-android.html
    \nextpage creator-developing-bb10.html

    \title Connecting Android Devices

    You can connect Android devices to the development PC to build, run, debug,
    and analyze applications on them from \QC.

    If you have a tool chain for building applications for Android devices
    installed on the development PC, you can add it to \QC. You can then add a
    \l{glossary-buildandrun-kit}{kit}
    with the Android device type, the tool chain, and the Qt version for Android,
    to build and run applications on Android devices. You can also allow \QC to
    automatically configure the kit.

    The Android Debug Bridge (adb) command line tool is integrated to \QC to
    enable you to deploy applications to connected Android devices, to run
    the applications on them, and to read logs from them. It includes a client
    and server that run on the development host and a daemon that runs on the
    emulator or device.

    \section1 Requirements

    To use \QC to develop Qt applications for Android, you need the following:

    \list

        \li OpenJDK Java Development Kit

            To check whether you have OpenJDK installed, enter the following
            command:

            \c {java -version}

            To install OpenJDK, enter the following command:

            \c {sudo apt-get install openjdk-6-jdk}

        \li \l{http://ant.apache.org/bindownload.cgi}{Apache Ant} 1.8.0, or
            later

            To check the Ant version, enter the following command on the command
            line:

            \c {ant -version}

        \li A tool chain for building applications for Android devices. You have
            several options, such as the
            \l{http://developer.android.com/sdk/index.html}{Android SDK} and
            \l{http://developer.android.com/tools/sdk/ndk/index.html}
            {Android NDK} from Google or the
            \l{http://necessitas.kde.org/necessitas/necessitas_sdk_installer.php}
            {Necessitas SDK}.

    \endlist

    \section1 Configuring Connections

    The Qt for Android SDK automatically sets the paths to the required software
    in \QC.

    To configure connections between \QC and Android devices:

    \list 1

        \li Select \gui Tools > \gui Options > \gui {Build & Run} >
            \gui {Qt Versions} > \gui Add to add the path to \c qmake path in
            the Qt for Android SDK.

        \li Select \gui Tools > \gui Options > \gui Android to view and edit
            paths to the required software.

            \image qtcreator-options-android.png "Android options"

        \li Select the \gui {Automatically create kits for Android tool chains}
            check box to allow \QC to create the kits for you. \QC displays a
            warning if it cannot find a suitable Qt version.

        \li Select \gui {Start Android AVD Manager} to create Android virtual
            devices (AVD) that enable you to emulate device hardware and software
            on the Android Emulator.

        \li To specify information for the Android manifest file, select
            \gui Projects > \gui Run for the \gui Android kit.

        \li Select \gui Details to view the
            \gui {Package configurations}. For more information about the
            options you have, see
            \l{Specifying Run Settings for Android Devices}.

        \li To specify settings for deploying applications to Android, select
            \gui Details to view the \gui {Deploy configurations}. For more
            information about the options you have, see
            \l{Deploying Applications to Android Devices}.

    \endlist

    \section1 Debugging on Android Devices

    \QC is integrated with the GDB and GDB server that are delivered with the
    Necessitas SDK. It provides GDB with Python support that enables \QC to
    display custom Qt types, such as QString, QObject, and so on.

    Android devices support debugging multi-thread applications in version
    2.2.1 and later. If you use AVD, select Android 2.3, or later. For more
    information, see the Android documentation.

    In addition, debugging is supported at android-10 API level, or higher. In
    the run settings for the project, in the \gui {Android target SDK} field,
    select android-10, or higher. For more information about Android API levels,
    see \l{http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels}
    {What is API Level?}.

    \note Select a \l{glossary-build-config}{debug build configuration} to build
    the application for debugging.

*/

