summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Bennett <nicholas.bennett@qt.io>2021-11-11 11:12:37 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-11-19 15:15:59 +0000
commit68d34b0b8fe34410fb792ed7e645e92155c7206b (patch)
treeddebc4ef86f04793c0fc6719c20880d2a1eecab4
parent11c871c8e875f6333582c0f1dc5f98399e6b8913 (diff)
downloadqtdoc-68d34b0b8fe34410fb792ed7e645e92155c7206b.tar.gz
Docs: Move manifest and androiddeployqt docs to qtbase
Removed content describing androiddeployqt from deployment-android.html to androiddeployqt.html,the qdoc source now living in qtbase. Improved the table of contents referencing to be more dynamic. Updated direct links to the new page. Corresponding change in QtBase repo is a4dca9936d91008986e021a794bcdf3e36f6db9d Task-number: QTBUG-97842 Change-Id: I02d1245716f58dd2b0f8028dc47123f0cc8c1a86 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit 0463b65d39f17b96853251c5a01f51c63781aee4) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--doc/src/legal/android-runtime-licensing-notes.qdoc1
-rw-r--r--doc/src/platforms/android/android-3rdparty-libs.qdoc3
-rw-r--r--doc/src/platforms/android/android-building.qdoc3
-rw-r--r--doc/src/platforms/android/android-deploying-application.qdoc209
-rw-r--r--doc/src/platforms/android/android-platform-notes.qdoc2
-rw-r--r--doc/src/platforms/android/android-publishing-to-googleplay.qdoc1
-rw-r--r--doc/src/platforms/android/android-services.qdoc1
-rw-r--r--doc/src/platforms/android/android.qdoc40
-rw-r--r--doc/src/platforms/android/examples-android.qdoc10
-rw-r--r--doc/src/platforms/android/porting-to-android.qdoc3
10 files changed, 31 insertions, 242 deletions
diff --git a/doc/src/legal/android-runtime-licensing-notes.qdoc b/doc/src/legal/android-runtime-licensing-notes.qdoc
index 52d48e2c..b5deef68 100644
--- a/doc/src/legal/android-runtime-licensing-notes.qdoc
+++ b/doc/src/legal/android-runtime-licensing-notes.qdoc
@@ -29,6 +29,7 @@
\page android_runtime_licensing_notes.html
\title Android GNU C++ Run-time Licensing
\ingroup licensing
+\ingroup androidplatform
\brief Provides additional information about the licensing of run-time dependencies of Qt for Android
\previouspage android-platform-notes.html
\nextpage android.html
diff --git a/doc/src/platforms/android/android-3rdparty-libs.qdoc b/doc/src/platforms/android/android-3rdparty-libs.qdoc
index b7a918a6..439cbfac 100644
--- a/doc/src/platforms/android/android-3rdparty-libs.qdoc
+++ b/doc/src/platforms/android/android-3rdparty-libs.qdoc
@@ -28,7 +28,8 @@
/*!
\page android-3rdparty-libs.html
\title Third-party Android Libraries
- \brief Provides instructions to include third-party Android libraries in an application.
+ \ingroup androidplatform
+ \brief Instructions on including third-party Android libraries in an application.
\previouspage android-services.html
\nextpage android-publishing-to-googleplay.html
diff --git a/doc/src/platforms/android/android-building.qdoc b/doc/src/platforms/android/android-building.qdoc
index 7af7e85d..054bfafc 100644
--- a/doc/src/platforms/android/android-building.qdoc
+++ b/doc/src/platforms/android/android-building.qdoc
@@ -28,6 +28,7 @@
/*!
\page android-building.html
\title Qt for Android - Building from Source
+ \ingroup androidplatform
\brief How to configure and build Qt for Android directly from source.
\previouspage android-getting-started.html
\nextpage porting-to-android.html
@@ -328,5 +329,5 @@
<qt_for_android_install_path>/bin/qt-cmake -DANDROID_SDK_ROOT=<android_sdk_path> -DANDROID_NDK_ROOT=<android_ndk_path> -S <source_dir> -B <build_dir>
\endcode
- Additionally, you can still use \c qmake to build user projects as before in Qt 5.
+ Additionally, you can still use \c qmake to build user projects, as before in Qt 5.
*/
diff --git a/doc/src/platforms/android/android-deploying-application.qdoc b/doc/src/platforms/android/android-deploying-application.qdoc
index 0a83821b..88b05bcd 100644
--- a/doc/src/platforms/android/android-deploying-application.qdoc
+++ b/doc/src/platforms/android/android-deploying-application.qdoc
@@ -27,14 +27,18 @@
/*!
\page deployment-android.html
+ \title Deploying an Application on Android
+ \brief The technical steps required to deploy a Qt application on Android.
+ \ingroup androidplatform
\previouspage examples-android.html
\nextpage android-openssl-support.html
- \title Deploying an Application on Android
This article describes the technical steps required to deploy a Qt
application to an Android device.
+ \note \l{The androiddeployqt Tool} automates this process.
+
\section1 Android Application Bundle
Applications on Android can be packaged in two ways; either as Application
@@ -259,207 +263,4 @@
\c jarsigner and aligned with \c zipalign. For more information on signing
the package with Qt Creator, see \l{Qt Creator: Signing Android Packages}
{Signing Android packages}.
-
- \section1 androiddeployqt
-
- Building an application package is complex, so Qt comes with a tool which
- handles the work for you. The steps described in this document so far are
- handled automatically by this tool. This section describes some of the steps
- that this tool facilitates.
-
- \section2 Prerequisites Before Running androiddeployqt
-
- Before running the tool manually, you need to run \c qmake or \c CMake
- on your project to generate \c Makefiles and a \c JSON file (i.e.
- \c{android-project-deployment-settings.json}) containing important settings
- used by \c androiddeployqt.
-
- \note It is not recommended to modify the androiddeployqt JSON file.
-
- To prepare the build for androiddeployqt, it is recommended to build your
- project in a separate directory. Run the following commands:
-
- \badcode
- mkdir build-project
- cd build-project
- ~/Qt/5.15.0/android/bin/qmake ../project/project.pro
- make -j$(nproc)
- make -j$(nproc) apk_install_target
- \endcode
-
- \section2 Command Line Arguments
-
- The only required command line argument when running the tool is \c{--output}.
- Other command line arguments are optional but useful. Here's a quick overview.
- More information is available by passing the \c{--help} argument to androiddeployqt.
-
- \table
- \header
- \li Argument
- \li Brief Description
- \row
- \li \c{--output <destination>}
- \li Specifies the destination of the final package. Set this to
- \c{$ANDROID_BUILD_DIR}, that is the build directory where you installed
- your application binaries.
- \row
- \li \c{--input <file name>}
- \li This allows you to specify the generated \c JSON settings file.
- \c androiddeployqt will try to guess the file name based on the
- current working directory.
- \row
- \li \c{--aab}
- \li Generate an Android Application Bundle, rather than an APK. Note
- that this invalidates some of the other arguments, such as \c{--install}.
- \row
- \li \c{--deployment <mechanism>}
- \li Specify this to pick a different deployment mechanism than the
- default.
- \row
- \li \c{--install}
- \li Specify this to install the finished package on the target device
- or emulator. Note that if a previous version of the package is
- already installed, it will be uninstalled first, removing any
- data it might have stored locally.
- \row
- \li \c{--device <ID>}
- \li Specify the ID of the target device or emulator as reported by
- the \c adb tool. If an ID is specified, it will be passed to all
- calls to \c adb. If it is unspecified, no particular device or
- emulator will be requested by \c adb, causing it to pick a default
- instead.
- \row
- \li \c{--android-platform <platform>}
- \li The SDK platform used for building the Java code of the application.
- By default, the latest available platform is used.
- \row
- \li \c{--release}
- \li Specify this to create a release package instead of a debug package.
- With no other arguments, release packages are unsigned and cannot
- be installed to any device before they have been signed by a private
- key.
- \row
- \li \c{--sign <url> <alias>}
- \li Sign the resulting package. Specifying this also implies
- \c{--release}. The URL of the keystore file and the alias of the
- key have to be specified. Optionally, set the following environment
- variables to conceal the signing information
- \c QT_ANDROID_KEYSTORE_PATH, \c QT_ANDROID_KEYSTORE_ALIAS,
- \c QT_ANDROID_KEYSTORE_STORE_PASS, and \c QT_ANDROID_KEYSTORE_KEY_PASS.
- In addition, there are a number of options that can be specified
- which are passed through to the \c jarsigner tool.
- Pass \c{--help} to \c androiddeployqt for more information.
- \row
- \li \c{--jdk <path>}
- \li Specify the path to the Java Development Kit. This is only
- required for signing packages, as it is only used for finding
- the \c jarsigner tool. If it is unspecified, then \c androiddeployqt
- will attempt to detect \c jarsigner, either using the \c{JAVA_HOME}
- environment variable, or on the \c PATH.
- \row
- \li \c{--verbose}
- \li Specify this to output more information about what \c androiddeployqt is
- doing.
- \row
- \li \c{--help}
- \li Prints the help for the tool.
- \endtable
-
- With a project named \c project, to directly build the application package
- with androiddeployqt without deploying it the device, run the following:
-
- \badcode
- ~/Qt/5.15.0/android/bin/androiddeployqt --input $BUILD_DIR/android-project-deployment-settings.json --output $ANDROID_BUILD_DIR --android-platform android-29 --jdk /usr/lib/jvm/java-8-openjdk-amd64 --gradle
- \endcode
-
- To deploy the built package to the device:
-
- \badcode
- ~/Qt/5.15.0/android/bin/androiddeployqt --verbose --output $ANDROID_BUILD_DIR --no-build --input $BUILD_DIR/android-project-deployment-settings.json --gradle --reinstall --device <adb_device_id>
- \endcode
-
- \section2 Dependencies Detection
-
- Qt comes with a number of plugins which are loaded at run-time when they are
- needed. These can handle anything from connecting to SQL databases to loading
- specific image formats. Detecting plugin dependencies is impossible as the
- plugins are loaded at run-time, but androiddeployqt tries to guess such
- dependencies based on the Qt dependencies of your application. If the plugin
- has any Qt dependencies which are not also dependencies of your application,
- it will not be included by default. For instance, in order to ensure that
- the SVG image format plugin is included, you will need to add \l{Qt SVG}
- module to your project for it to become a dependency of your application:
-
- \badcode
- QT += svg
- \endcode
-
- If you are wondering why a particular plugin is not included automatically,
- you can run androiddeployqt with the \c{--verbose} option to get the list of
- missing dependencies for each excluded plugin. You can achieve the same in
- Qt Creator by ticking the \uicontrol {Verbose output} check box in the
- \uicontrol {Projects} > \uicontrol {Build Steps} > \uicontrol {Build Android APK} >
- \uicontrol {Advanced Actions}.
-
- It's also possible to manually specify the dependencies of your application.
- For more information, see \l{ANDROID_DEPLOYMENT_DEPENDENCIES} qmake variable.
-
- \section1 Android-specific qmake Variables
-
- Unless the project has special requirements such as third party libraries,
- it should be possible to run \l androiddeployqt on it with no modifications
- and get a working Qt for Android application.
-
- There are two important environment variables used by Qt:
-
- \list
- \li \c{ANDROID_SDK_ROOT}: specifies the path to the Android SDK used for
- building the application. The Android SDK contains the build-tools,
- Android NDK, and Android toolchains.
- \li \c{ANDROID_NDK_ROOT}: specifies the path to the Android NDK used to
- build the application. It is not recommended to hard-code this path,
- since different Qt for Android versions can depend on different
- Android NDK versions.
- \endlist
-
- \note Qt Creator sets these variables by default.
-
- There are a set of \c qmake variables that can be used to tailor
- your package. At some point during development, you will most likely want
- to look into these variables to customize your application.
-
- Here is a list of some variables that are particularly interesting when
- making Android applications:
-
- \list
- \li \l{ANDROID_PACKAGE_SOURCE_DIR}
- \li \l{ANDROID_VERSION_CODE}
- \li \l{ANDROID_VERSION_NAME}
- \li \l{ANDROID_EXTRA_LIBS}
- \li \l{ANDROID_EXTRA_PLUGINS}
- \li \l{ANDROID_ABIS}
- \li \l{ANDROID_API_VERSION}
- \li \l{ANDROID_DEPLOYMENT_DEPENDENCIES}
- \li \l{ANDROID_MIN_SDK_VERSION}
- \li \l{ANDROID_TARGET_SDK_VERSION}
- \li \l{JAVA_HOME}
- \endlist
-
- Also, the following \c qmake variables are primarily useful when writing a Qt module, and not
- normal applications:
-
- \list
- \li \l{ANDROID_BUNDLED_JAR_DEPENDENCIES}
- \li \l{ANDROID_LIB_DEPENDENCIES}
- \li \l{ANDROID_PERMISSIONS}
- \li \l{ANDROID_FEATURES}
- \endlist
-
- \note This list of variables can also be used with CMake.
-
- \section1 Deployment in Qt Creator
-
- Qt Creator runs the \l androiddeployqt tool by default, and provides easy
- and intuitive user interfaces to specify many of the options. For more
- information, see \l{Qt Creator: Deploying Applications to Android Devices}.
*/
diff --git a/doc/src/platforms/android/android-platform-notes.qdoc b/doc/src/platforms/android/android-platform-notes.qdoc
index a3710fff..98bc9d75 100644
--- a/doc/src/platforms/android/android-platform-notes.qdoc
+++ b/doc/src/platforms/android/android-platform-notes.qdoc
@@ -27,8 +27,10 @@
/*!
\page android-platform-notes.html
\title Android Platform Notes
+ \ingroup androidplatform
\previouspage android-publishing-to-googleplay.html
\nextpage android_runtime_licensing_notes.html
+ \brief Information particular to building and running Qt applications on Android.
This page contains information particular to building and running Qt
applications on Android. Qt supports Android versions 6.0 (API level 23) or
diff --git a/doc/src/platforms/android/android-publishing-to-googleplay.qdoc b/doc/src/platforms/android/android-publishing-to-googleplay.qdoc
index e20ec4f7..02f0987b 100644
--- a/doc/src/platforms/android/android-publishing-to-googleplay.qdoc
+++ b/doc/src/platforms/android/android-publishing-to-googleplay.qdoc
@@ -29,6 +29,7 @@
\page android-publishing-to-googleplay.html
\title Publishing to Google Play
\brief Provides instructions to prepare your application for publishing.
+\ingroup androidplatform
\previouspage android-3rdparty-libs.html
\nextpage android-platform-notes.html
diff --git a/doc/src/platforms/android/android-services.qdoc b/doc/src/platforms/android/android-services.qdoc
index 6f957bae..139f1d27 100644
--- a/doc/src/platforms/android/android-services.qdoc
+++ b/doc/src/platforms/android/android-services.qdoc
@@ -28,6 +28,7 @@
/*!
\page android-services.html
\title Android Services
+\ingroup androidplatform
\preliminary
\brief Provides information about Android Services support in Qt.
\previouspage android-manifest-file-configuration.html
diff --git a/doc/src/platforms/android/android.qdoc b/doc/src/platforms/android/android.qdoc
index e95e424a..5b3d8fb6 100644
--- a/doc/src/platforms/android/android.qdoc
+++ b/doc/src/platforms/android/android.qdoc
@@ -34,20 +34,15 @@
\nextpage android-getting-started.html
Qt for Android enables you to run Qt applications on Android devices.
-\omit //! Modules are not part of Qt 6.0
-All Qt modules (essentials and add-ons) are supported except the following:
+For Qt modules that support android targets see:
+\l{All Modules}{All Supported Qt Modules}.
-\list
- \li Qt WebEngine
- \li Qt Virtual Keyboard
-\endlist
-\endomit //! Modules are not part of Qt 6.0
The following configurations are supported:
\include supported-platforms.qdocinc android
-The following list summarizes what you can do with Qt for Android:
+Here is what you can do with Qt for Android:
\list
\li Run \l{Qt Widgets}{Widget-based} and \l{QML Applications}{QML}
@@ -55,43 +50,28 @@ The following list summarizes what you can do with Qt for Android:
\li Support for the \l{Material Style}{Material Style} with
Qt Quick Controls.
\li Handle \l{Qt Multimedia}{Multimedia} content.
- \omit //! Qt Sensors not part of Qt 6.0
\li Get \l{Qt Sensors}{sensor} readings.
- \endomit //! Qt Sensors not part of Qt 6.0
\li Retrieve positioning data using satellite or network information.
- \omit
\li Connect and exchange data with \l{Qt Bluetooth}{Bluetooth}
and \l{Qt NFC}{NFC}-enabled devices.
- \endomit //! Qt Bluetooth and NFC not part of Qt 6.0
\li Develop secure applications using OpenSSL library.
\li Create \l{Android Services}.
\li Create and deploy Application Package (APK) and Android App Bundle (AAB)
packages 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}{Qt Examples on Android}
- \li \l{Deploying an Application on Android}
- \li \l{Qt Creator: Deploying Applications to Android Devices}
- \li \l{Adding OpenSSL Support for Android}
- \li \l{Qt Android Manifest File Configuration}
- \li \l{Android Services}{Creating Android Services}
- \li \l{Third-party Android Libraries}
- {Including third-party Android libraries in an application}
- \li \l{Publishing to Google Play}
- \li \l{Android Platform Notes}
- \li \l{Android GNU C++ run-time licensing}
-\endlist
+See \l{Getting Started with Qt for Android}.
+
+The following topics provide more details about Qt for Android:
+\annotatedlist androidplatform
+
*/
/*!
\page android-getting-started.html
\title Getting Started with Qt for Android
\brief Provides instructions to install and configure your development environment.
+\ingroup androidplatform
\previouspage android.html
\nextpage android-building.html
@@ -166,7 +146,7 @@ Different Qt versions depend on different NDK versions, as listed below:
\note Qt 5.14.0 and 5.14.1 with NDK r21 have a bug fixed at \l {QTBUG-81461}.
-\note Make sure to unpack the Android SDK and NDK to a writeable location that Qt Creator
+\note Make sure to unpack the Android SDK and NDK to a writable 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.
diff --git a/doc/src/platforms/android/examples-android.qdoc b/doc/src/platforms/android/examples-android.qdoc
index b594167d..4c1218f1 100644
--- a/doc/src/platforms/android/examples-android.qdoc
+++ b/doc/src/platforms/android/examples-android.qdoc
@@ -29,6 +29,7 @@
\page examples-android.html
\title Qt for Android Examples
\brief A list of selected Qt Examples for Android.
+ \ingroup androidplatform
\previouspage porting-to-android.html
\nextpage deployment-android.html
@@ -114,16 +115,15 @@
\li \l{Extending QML - Attached Properties Example}{Attached Properties}
\endlist
\enddiv
- \omit \\! Not part of Qt 6.0
\div {class="doc-column"}
\b{Multimedia}
\list
- \li \l{QML Video Shader Effects Example}{Video Shader Effects Example}
- \li \l{QML Video Example}{Video Example}
- \li \l{QML Camera Example}{Camera Example}
+ \li \l{Media Player Example}
+ \li \l{Camera Example}
+ \li \l{QML Media Player Example}
+ \li \l{QML Recorder Example}
\endlist
\enddiv
- \endomit
\omit \\! Not part of Qt 6.0
\div {class="doc-column"}
\b{Location}
diff --git a/doc/src/platforms/android/porting-to-android.qdoc b/doc/src/platforms/android/porting-to-android.qdoc
index 7b936a66..0e003313 100644
--- a/doc/src/platforms/android/porting-to-android.qdoc
+++ b/doc/src/platforms/android/porting-to-android.qdoc
@@ -29,6 +29,7 @@
\page porting-to-android.html
\title Porting to Android
\brief Provides instructions to port your existing Qt application to Android.
+\ingroup androidplatform
\previouspage android-building.html
\nextpage examples-android.html
@@ -43,7 +44,7 @@ The other approach is to deploy the resources into the package's \c{assets}
directory. It is the best option if you want to achieve better
interoperability with the Android APIs. You can access all resources in the
directory using the "assets:" prefix. Unlike qrc, this approach is Android
-sepcific, not a cross-platform solution.
+specific, not a cross-platform solution.
To use the "assets:" approach, for example, add the following lines into the
\c {.pro} file: