diff --git a/doc/images/icons/download-icon.png b/doc/images/icons/download-icon.png new file mode 100644 index 00000000000..59de1e81e99 Binary files /dev/null and b/doc/images/icons/download-icon.png differ diff --git a/doc/images/qtcreator-android-build-steps.png b/doc/images/qtcreator-android-build-steps.png new file mode 100644 index 00000000000..dda97e83ccf Binary files /dev/null and b/doc/images/qtcreator-android-build-steps.png differ diff --git a/doc/images/qtcreator-android-certificate.png b/doc/images/qtcreator-android-certificate.png index 2b4d2355494..1798a91eb70 100644 Binary files a/doc/images/qtcreator-android-certificate.png and b/doc/images/qtcreator-android-certificate.png differ diff --git a/doc/images/qtcreator-android-cmake-settings.png b/doc/images/qtcreator-android-cmake-settings.png new file mode 100644 index 00000000000..6776e4fcba3 Binary files /dev/null and b/doc/images/qtcreator-android-cmake-settings.png differ diff --git a/doc/images/qtcreator-android-deploy-configurations.png b/doc/images/qtcreator-android-deploy-configurations.png index b09cbce6de3..c4602a8538d 100644 Binary files a/doc/images/qtcreator-android-deploy-configurations.png and b/doc/images/qtcreator-android-deploy-configurations.png differ diff --git a/doc/images/qtcreator-android-manifest-editor.png b/doc/images/qtcreator-android-manifest-editor.png index 90fdb6a42b4..67424baae3d 100644 Binary files a/doc/images/qtcreator-android-manifest-editor.png and b/doc/images/qtcreator-android-manifest-editor.png differ diff --git a/doc/images/qtcreator-options-android1.png b/doc/images/qtcreator-options-android1.png index b3806a361da..81a94cb5e49 100644 Binary files a/doc/images/qtcreator-options-android1.png and b/doc/images/qtcreator-options-android1.png differ diff --git a/doc/images/qtcreator-options-android2.png b/doc/images/qtcreator-options-android2.png index 176b2cd3a1d..5289c4b1b05 100644 Binary files a/doc/images/qtcreator-options-android2.png and b/doc/images/qtcreator-options-android2.png differ diff --git a/doc/src/android/androiddev.qdoc b/doc/src/android/androiddev.qdoc index ac2a77a3fe6..00737d5ef28 100644 --- a/doc/src/android/androiddev.qdoc +++ b/doc/src/android/androiddev.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2018 The Qt Company Ltd. +** Copyright (C) 2019 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Creator documentation. @@ -66,10 +66,10 @@ \note Android SDK Tools have issues with JDK versions later than 8. \li \l{http://www.gradle.org}{Gradle} for building application packages - for Android devices (APK). Gradle is delivered with Qt 5.9, and - later. Because Gradle scripts are not delivered with Android SDK - Tools since version 26.0.0, they are delivered with Qt 5.9 and - 5.6.3. + (APK) and app bundles (AAB) for Android devices. Gradle is delivered + with Qt 5.9, and later. Because Gradle scripts are not delivered + with Android SDK tools since version 26.0.0, they are delivered + with Qt 5.9 and 5.6.3. \note Using Ant to build APKs is no longer supported. @@ -77,6 +77,9 @@ by the \l{http://developer.android.com/tools/sdk/ndk/index.html} {Android NDK} from Google. + \note To develop with Qt 5.14.0 or later, you need Android NDK r20 + or later. + \li \l{http://developer.android.com/sdk/index.html}{Android SDK Tools} The following Android SDK packages and tools are required for @@ -167,7 +170,7 @@ \li In the \uicontrol {JDK location} field, add the path to the JDK. - You can use the \inlineimage download.png + Select the \inlineimage icons/download-icon.png (\uicontrol Download) button to go to the site where you can download the JDK. \QC checks the JDK installation and reports errors. @@ -175,9 +178,8 @@ \li In the \uicontrol {Android Settings} group, add paths to the Android NDK and SDK. - You can use the \inlineimage download.png - (\uicontrol Download) buttons to go to the sites where you can download - the Android NDK and SDK. + Select \inlineimage icons/download-icon.png + to go to the sites where you can download the Android NDK and SDK. The SDK Manager checks the Android NDK and SDK installations, reports errors, and offers to install the necessary packages. @@ -192,7 +194,8 @@ \li Select \uicontrol File > \uicontrol {New File or Project} > \uicontrol Application > \uicontrol {Qt Quick Application} > \uicontrol Choose, and - follow the instructions of the wizard. For more information, see + follow the instructions of the wizard to create a project. For more + information, see \if defined(qtcreator) \l{Creating Qt Quick Projects}. \else diff --git a/doc/src/android/deploying-android.qdoc b/doc/src/android/deploying-android.qdoc index 998cc7f2108..7690b435a6a 100644 --- a/doc/src/android/deploying-android.qdoc +++ b/doc/src/android/deploying-android.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2018 The Qt Company Ltd. +** Copyright (C) 2019 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Creator documentation. @@ -32,9 +32,19 @@ \title Deploying Applications to Android Devices - On Android, applications are distributed in a specially structured type of - ZIP package called an APK. \QC supports the following methods of deployment - for Android applications: + On Android, applications are distributed in specially structured types of + ZIP packages called Application Packages (APK) or Android App Bundles (AAB). + APK files can be downloaded to and executed on a device, whereas AAB is + intended to be interpreted by the Google Play store and is used to generate + APK files. + + \l{Qt for Android} has binaries for armv7a, arm64-v8a, x86, and x86-64. + To support several different ABIs in your application, build an AAB that + contains binaries for each of the ABIs. The Google Play store uses the + AAB to generate optimized APK packages for the devices issuing the download + request and automatically signs them with your publisher key. + + \QC supports the following methods of deployment for Android applications: \list @@ -44,6 +54,9 @@ The Ministro tool downloads the necessary Qt libraries from a repository of your choice. + \li Since Qt 5.14.0, as an app bundle (AAB), intended for distribution + in the Google Play store. + \endlist To specify settings for application packages, select \uicontrol Projects > @@ -137,6 +150,23 @@ the \uicontrol {Compile Output} pane. To view additional information, select the \uicontrol {Verbose output} check box. + \section3 Building AABs + + For testing the application locally, use the APK format, because + the package can be uploaded directly to the device and run. For + distribution to the Google Play store, create an AAB by selecting + the \uicontrol {Build .aab (Android App Bundle)} check box. + + When building with CMake, you can select the ABIs to build the application + for in the \uicontrol CMake settings: + + \image qtcreator-android-cmake-settings.png "CMake settings for building AABs" + + When building with qmake, you can select the ABIs in the \uicontrol ABIs + field in the \uicontrol {Build Steps}: + + \image qtcreator-android-build-steps.png "Android Build Steps" + \section3 Selecting API Level In the \uicontrol {Android build SDK} field, you can select the API level to use