androiddev.qdoc 10.5 KB
Newer Older
hjk's avatar
hjk committed
1
/**************************************************************************
Leena Miettinen's avatar
Leena Miettinen committed
2
**
3
** Copyright (c) 2013 Digia Plc and/or its subsidiary(-ies).
hjk's avatar
hjk committed
4
** Contact: http://www.qt-project.org/legal
Leena Miettinen's avatar
Leena Miettinen committed
5
**
hjk's avatar
hjk committed
6
** This file is part of Qt Creator
Leena Miettinen's avatar
Leena Miettinen committed
7 8 9 10 11 12 13 14 15 16
**
**
** 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.
**
**
hjk's avatar
hjk committed
17
**************************************************************************/
Leena Miettinen's avatar
Leena Miettinen committed
18 19 20 21

    /*!

    \contentspage index.html
22
    \previouspage creator-connecting-mobile.html
Leena Miettinen's avatar
Leena Miettinen committed
23
    \page creator-developing-android.html
24
    \nextpage creator-developing-baremetal.html
Leena Miettinen's avatar
Leena Miettinen committed
25 26 27 28 29 30 31

    \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
32 33 34
    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,
35 36
    to build and run applications on Android devices. You can also allow \QC to
    automatically configure the kit.
Leena Miettinen's avatar
Leena Miettinen committed
37

38 39 40 41 42 43
    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.

Leena Miettinen's avatar
Leena Miettinen committed
44 45 46 47 48 49
    \section1 Requirements

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

    \list

50 51
        \li \l{http://www.oracle.com/technetwork/java/javase/downloads/index.html}
            {Java SE Development Kit (JDK)} version 6, or later
52

53
        \li \l{http://ant.apache.org/bindownload.cgi}{Apache Ant} 1.8.0, or
Leena Miettinen's avatar
Leena Miettinen committed
54 55
            later

56 57 58 59
        \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}
60
            {Android NDK} from Google (supported for development with Qt 5) or the
61
            \l{http://necessitas.kde.org/necessitas/necessitas_sdk_installer.php}
62
            {Necessitas SDK} (supported for development with Qt 4).
Leena Miettinen's avatar
Leena Miettinen committed
63

64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
        \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
Leena Miettinen's avatar
Leena Miettinen committed
94

95
    \section1 Developing with Qt 4
Leena Miettinen's avatar
Leena Miettinen committed
96

97 98 99
    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.
Leena Miettinen's avatar
Leena Miettinen committed
100 101 102 103 104

    To configure connections between \QC and Android devices:

    \list 1

105
        \li Select \gui Tools > \gui Options > \gui {Build & Run} >
106 107
            \gui {Qt Versions} > \gui Add to add the path to \c qmake path in
            the Qt for Android SDK.
Leena Miettinen's avatar
Leena Miettinen committed
108

109 110
        \li Select \gui Tools > \gui Options > \gui Android to check the paths
            to the required software.
Leena Miettinen's avatar
Leena Miettinen committed
111 112 113

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

114 115 116
        \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.
Leena Miettinen's avatar
Leena Miettinen committed
117

118 119
        \li To create an application, select \gui File >
            \gui {New File or Project} > \gui Applications >
120
            \gui {Qt Quick Application} > \gui Choose, and
121 122
            follow the instructions of the wizard. For more information, see
            \l{Creating Qt Quick Projects}.
Leena Miettinen's avatar
Leena Miettinen committed
123

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

        \li Select \gui Details to view the
Leena Miettinen's avatar
Leena Miettinen committed
128 129
            \gui {Package configurations}. For more information about the
            options you have, see
130
            \l{Specifying Settings for Qt 4 Packages}.
Leena Miettinen's avatar
Leena Miettinen committed
131

132
        \li To specify settings for deploying applications to Android, select
Leena Miettinen's avatar
Leena Miettinen committed
133 134 135 136 137 138
            \gui Details to view the \gui {Deploy configurations}. For more
            information about the options you have, see
            \l{Deploying Applications to Android Devices}.

    \endlist

139 140 141 142
    \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,
143
    you must install Qt for Android as part of Qt 5.2, or later.
144

145
    For more information, see \l{Qt for Android}.
146 147 148 149 150 151 152 153 154 155 156 157 158 159 160

    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 >
161
            \gui {Qt Quick Application} > \gui Choose, and
162 163 164 165
            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
166
            \gui Projects > \gui Run for the \gui Android kit, and then select
167 168 169 170
            \gui Details to view the \gui {Deploy configurations}. For more
            information about the options you have, see
            \l{Deploying Applications to Android Devices}.

171
        \li Enable debugging on your Android device.
172 173 174 175 176 177 178

            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.

179 180 181
        \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.
182 183
    \endlist

184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213
    \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.

214 215 216 217 218 219 220 221 222 223 224 225 226
    \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.

Leena Miettinen's avatar
Leena Miettinen committed
227 228
    \section1 Debugging on Android Devices

229 230 231 232
    \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.

Leena Miettinen's avatar
Leena Miettinen committed
233 234 235 236 237 238 239 240 241 242 243 244 245 246 247
    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.

*/