/************************************************************************** ** ** 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-baremetal.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 \l{http://www.oracle.com/technetwork/java/javase/downloads/index.html} {Java SE Development Kit (JDK)} version 6, or later \li \l{http://ant.apache.org/bindownload.cgi}{Apache Ant} 1.8.0, or later \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 (supported for development with Qt 5) or the \l{http://necessitas.kde.org/necessitas/necessitas_sdk_installer.php} {Necessitas SDK} (supported for development with Qt 4). \li On Windows, you also need the following: \list \li MinGW v4.8.0 revision 2 \li Android Debug Bridge (ADB) driver on the Windows platform to enable USB debugging. The default USB driver on Windows does not allow debugging. For more information about obtaining the USB driver, see \l{http://developer.android.com/sdk/win-usb.html}. After installing the driver, try running a few basic \l{http://developer.android.com/tools/help/adb.html}{adb} commands to check that your device responds to them. \endlist \endlist After installing these tools, update the Android SDK to get the API and tools packages required for development. You can use the \l{http://developer.android.com/tools/help/android.html}{android} tool that comes with the SDK Tools package. For example, on Ubuntu the following command starts the \l{http://developer.android.com/sdk/installing/adding-packages.html} {Android SDK Manager}, where you can select the packages to install: \code ./android update sdk \endcode \section1 Developing with Qt 4 The Necessitas SDK automatically sets the paths to the required software in \QC, but you need to add the Qt version. \QC can then create the necessary kits for you. 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 check the 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 To create an application, select \gui File > \gui {New File or Project} > \gui Applications > \gui {Qt Quick Application} > \gui Choose, and follow the instructions of the wizard. For more information, see \l{Creating Qt Quick Projects}. \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 Settings for Qt 4 Packages}. \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 Developing with Qt 5 You must download and install the latest Android NDK and SDK, and update the SDK to get the API and tools packages needed for development. In addition, you must install Qt for Android as part of Qt 5.2, or later. For more information, see \l{Qt for Android}. To configure connections between \QC and Android devices: \list 1 \li Select \gui Tools > \gui Options > \gui Android to add paths to the Android NDK and SDK. \image qtcreator-options-android1.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 File > \gui {New File or Project} > \gui Applications > \gui {Qt Quick Application} > \gui Choose, and follow the instructions of the wizard. For more information, see \l{Creating Qt Quick Projects}. \li To specify settings for deploying applications to Android, select \gui Projects > \gui Run for the \gui Android kit, and then select \gui Details to view the \gui {Deploy configurations}. For more information about the options you have, see \l{Deploying Applications to Android Devices}. \li Enable debugging on your Android device. Debugging is enabled in different ways on different Android devices. Look for \gui {USB Debugging} under \gui {Developer Options}. On some devices \gui {Developer Options} is hidden and becomes visible when you tap the \gui {Build number} field in \gui Settings > \gui About several times. \li Connect the Android device to the development PC with a USB cable. You might be asked to select a device in the \gui {Select Android Devices} dialog. \endlist \section1 Selecting Android Devices When you deploy an application to an Android device with Android version 4.2 or later, the \gui {Select Android Devices} dialog opens. It lists the devices that are connected to the development PC. and their status. You can select devices from the \gui {Compatible Devices} list for deployment. If \QC determines that a device is not ready for deployment, it places the device in the \gui {Incompatible Devices} list, with information about the issue. For example, you might need to authorize the connection on the device. After you authorize the connection on the device, select \gui {Refresh Device List}. The device is moved to the \gui {Compatible Devices} list and you can select it for deployment. Other reasons for placing a device on the \gui {Incompatible Devices} are that the Android version on the device is too old or that the tool chain used for building does not match the Android architecture on the device (for example, you cannot deploy an ARM build on an x86 device). \image qtcreator-android-select-devices.png "Select Android Devices dialog" Android Virtual Devices (AVD) are also listed. To create new AVDs, select \gui {Create Android Virtual Device}. To set a device as the default device for a particular Android architecture, select the \gui {Always use this device for architecture} check box. The \gui {Select Android Devices} dialog will not appear until you switch to another project or restart \QC. \section1 Using the Android Emulator To run your application on the Android Emulator, you must create Android virtual devices (AVD). Select \gui Tools > \gui Options > \gui Android > \gui Add. If you run an application without a device connected to the development PC and without an AVD specified, \QC asks you to add an AVD. To manage AVDs, select \gui {Start Android AVD Manager}. \note The Android Emulator has a bug that prevents it from starting on some systems. If the Android Emulator does not start, you can try starting it manually by running the \c {emulator-arm} command from the command line. \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. */