diff options
Diffstat (limited to 'doc/src/platforms/android/android.qdoc')
-rw-r--r-- | doc/src/platforms/android/android.qdoc | 205 |
1 files changed, 205 insertions, 0 deletions
diff --git a/doc/src/platforms/android/android.qdoc b/doc/src/platforms/android/android.qdoc new file mode 100644 index 000000000..050c98efe --- /dev/null +++ b/doc/src/platforms/android/android.qdoc @@ -0,0 +1,205 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** 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. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! +\page android.html +\title Qt for Android +\brief Provides information about Android support in Qt. +\ingroup supportedplatform + +Qt for Android enables you to run Qt 5 applications on Android devices. +All Qt modules (essential and add-on) are supported except Qt \WebEngine, +Qt Serial Port, and the platform-specific ones (Qt Mac Extras, +Qt Windows Extras, and Qt X11 Extras). + +The following configurations are supported: + +\include supported-platforms.qdocinc android + +\br +The following list summarizes what you can do with Qt for Android: + +\list + \li Run \l{Qt Widgets}{Widget} and + \l{QML Applications}{QML} applications on the device + or emulator. + \li Support for native \l{Android Style}{Android style} with + Qt Quick Controls. + \li Handle \l{Qt Multimedia}{Multimedia} content in your Qt Quick 2 + applications. + \li Get \l{Qt Sensors}{sensor} readings and react to the changes. + \li Retrieve current position data using satellite and network + information. + \li Connect and exchange data with \l{Qt Bluetooth}{Bluetooth} + and \l{Qt NFC}{NFC}-enabled devices. + \li Integrate Java code into your application using + \l{Qt Android Extras}. + \li Develop secure applications using OpenSSL library. + \li Create \l{Android Services} + \li Create and deploy Application Package using Qt Creator. +\endlist + +The following topics provide more details about how to use Qt for Android: +\list + \li \l{Getting Started with Qt for Android}{Getting Started} + \li \l{Qt for Android - Building from Source} + \li \l{Porting to Android}{Porting a Qt Application} + \li \l{Qt for Android Examples}{Examples} + \li \l{Adding OpenSSL Support for Android} + \li \l{Android Services}{Creating Android Services} + \li \l{Third-party Android Libraries}{Including third-party Android libraries in an application} + \li \l{Qt Creator: Deploying Applications to Android Devices}{Deploying to the Device} + \li \l{Publishing to Google Play} + \li \l{Platform and Compiler Notes - Android}{Platform Notes} + \li \l{Android GNU C++ run-time licensing} +\endlist +*/ + +/*! +\page android-getting-started.html +\title Getting Started with Qt for Android +\brief Provides instructions to install and configure your development environment. + +\section1 Installing the Prerequisites + +In order to use \l{Qt for Android}, you need the following: + +\list +\li \l{http://developer.android.com/sdk/index.html}{The Android SDK Tools} + \note If your Qt version is earlier than v5.9, use the SDK tools package + v25.2.5 or earlier. +\li \l{http://developer.android.com/tools/sdk/ndk/index.html}{The Android NDK} + \list + \li Qt 5.11 and below + \list + \li NDK r10e + \li GCC toolchain + \endlist + \li Qt 5.12.0 to 5.12.5 + and Qt 5.13.0 to 5.13.1 + \list + \li NDK r19c + \li \e android-clang + \endlist + \li Qt 5.14+, Qt 5.13.2+ + and Qt 5.12.6+ + \list + \li NDK r20b or r21 + \li \e android-clang + \li \note Qt 5.14.0 and 5.14.1 with NDK r21 have a bug fixed at \l{https://bugreports.qt.io/browse/QTBUG-81461}{QTBUG-81461}. + \endlist + \endlist + +\li \l{http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html}{Java SE Development Kit} (JDK) v6 or later. You can also use \l{http://openjdk.java.net}{OpenJDK} on Linux. +\endlist + +After installing these tools, update the Android SDK by installing the API +and build tools packages required for development. You can install these packages +either through Android Studio or using the command line tools package you installed +earlier. For more details, refer to the +\l{https://developer.android.com/studio/intro/update.html}{Android Studio} +documentation. + +\note Make sure to unpack the Android SDK and NDK to a writeable location that Qt Creator +can access later. Otherwise, Qt Creator won't be able to use \c sdkmanager or find all +components even if they were installed manually. + +\section2 Updating the Android SDK + +The command line tools provided by the Android SDK Tools package also enables updating +the SDK, but without a GUI. For example, the following command on Ubuntu updates the SDK +by installing the latest \c build-tools, \c platform-tools, \c emulator, and \c patcher +packages: + +\badcode +./bin/sdkmanager --update +\endcode + +To install a specific package, use \c sdkmanager from +\c{<ANDROID_SDK_ROOT>/tools/bin}. For example, the following command installs the +\c android-10 platforms package on Ubuntu: + +\badcode +./sdkmanager "platforms;android-10" +\endcode + +For more details, refer to the +\l{https://developer.android.com/studio/command-line/sdkmanager.html}{sdkmanager} +documentation. + +\section1 Configuring Your Development Host + +\section2 Windows + +The default USB driver on Windows does not allow debugging using +Android Debug Bridge (ADB) tool. You must install the additional USB driver +provided by the \e extras Android SDK package. Use the following command from +the Windows command prompt to install the extras package: + +\badcode +sdkmanager.bat "extras;google;usb_driver" +\endcode + +After the package installation is complete, install the driver from +\c{<ANDROID_SDK_ROOT>/extras/google/usb_driver}. Try running a few basic +\l{http://developer.android.com/tools/help/adb.html}{adb} commands now +and check whether your Android device responds to it. + +\section2 64-bit Linux + +If you're developing on a 64-bit Linux machine, you must install the +following dependencies in order to run 32-bit executables like \c adb, which +allows Qt Creator to find devices to deploy to: + +\badcode +sudo apt-get install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386 +\endcode + +To run the emulator, the following dependencies are also necessary: + +\code +sudo apt-get install libsdl1.2debian:i386 +\endcode + +\section2 Qt Creator IDE + +The Qt Creator IDE that came with the Qt 5 installation on your development +host, must be configured to enable developing applications for Android. Launch +Qt Creator and select \uicontrol Tools > \uicontrol Options > +\uicontrol Devices > \uicontrol Android to add the Android NDK and SDK paths. +For more details, refer to \l{Qt Creator: Connecting Android Devices}{Qt Creator Manual}. + +\section1 Testing Your Setup + +Now you can test your development setup by running the examples that came +with the Qt 5 installation. You can browse these examples in +Qt Creator \uicontrol Welcome mode. Use the \c android filter in the search +field to list all the examples tested on Android. + +To develop a simple application from scratch, see \l{Creating a Mobile Application}. +*/ + |