mirror of https://github.com/qt/qtdoc.git
Docs: Add Android platform documentation
How it works page, host environment variables page, and relevant CMake information page added. Fixes: QTBUG-107704 Pick-to: 6.4 6.2 Change-Id: I823d3f9d97f49e79da867660bd4cd41a8378266a Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
This commit is contained in:
parent
a5f5f8810c
commit
23d41aaf79
Binary file not shown.
After Width: | Height: | Size: 39 KiB |
|
@ -65,7 +65,8 @@ qhp.QtDoc.subprojects.examples.sortPages = true
|
||||||
# Add an image used in example manifests to qhp, as well as thumbnails for YouTube links
|
# Add an image used in example manifests to qhp, as well as thumbnails for YouTube links
|
||||||
{HTML.extraimages,DocBook.extraimages,qhp.QtDoc.extraFiles} += images/qt-codesample.png \
|
{HTML.extraimages,DocBook.extraimages,qhp.QtDoc.extraFiles} += images/qt-codesample.png \
|
||||||
images/yIv0vO8B7tQ.jpg \
|
images/yIv0vO8B7tQ.jpg \
|
||||||
images/5OiIqFTjUZI.jpg
|
images/5OiIqFTjUZI.jpg \
|
||||||
|
images/nmvurCcsWos.jpg
|
||||||
|
|
||||||
# Add an .html file with sidebar content, used in the online style
|
# Add an .html file with sidebar content, used in the online style
|
||||||
HTML.stylesheets += style/qt5-sidebar.html
|
HTML.stylesheets += style/qt5-sidebar.html
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
|
@ -0,0 +1,34 @@
|
||||||
|
// Copyright (C) 2022 The Qt Company Ltd.
|
||||||
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\page android-build-environment-variables.html
|
||||||
|
\title Qt for Android: CMake
|
||||||
|
\brief Information regarding CMake and Android platform APIs.
|
||||||
|
\ingroup androidplatform
|
||||||
|
|
||||||
|
This page lists information regarding CMake and Qt for Android platform support.
|
||||||
|
|
||||||
|
\section1 Variables affecting the build process
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li \l{QT_ANDROID_PACKAGE_SOURCE_DIR}
|
||||||
|
\li \l{QT_ANDROID_EXTRA_LIBS}
|
||||||
|
\li \l{QT_ANDROID_EXTRA_PLUGINS}
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
\section2 Variables affecting Gradle
|
||||||
|
\list
|
||||||
|
\li \l{QT_ANDROID_MIN_SDK_VERSION}
|
||||||
|
\li \l{QT_ANDROID_TARGET_SDK_VERSION}
|
||||||
|
\li \l{QT_ANDROID_SDK_BUILD_TOOLS_REVISION}
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
\section2 Variables affecting the Android app manifest file
|
||||||
|
\list
|
||||||
|
\li \l{QT_ANDROID_VERSION_CODE}
|
||||||
|
\li \l{QT_ANDROID_VERSION_NAME}
|
||||||
|
\li \l{QT_ANDROID_APPLICATION_ARGUMENTS}
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
*/
|
|
@ -0,0 +1,44 @@
|
||||||
|
// Copyright (C) 2020 The Qt Company Ltd.
|
||||||
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\page android-environment-variables.html
|
||||||
|
\title Environment Variables Used by Qt for Android
|
||||||
|
\brief Lists some useful environment variables used by the Qt For Android toolchain.
|
||||||
|
\ingroup androidplatform
|
||||||
|
|
||||||
|
\section1 Enabling or disabling workarounds
|
||||||
|
|
||||||
|
Qt Android uses some environment variables to enable/disable certain workarounds:
|
||||||
|
\section2 Commonly used variables
|
||||||
|
\list
|
||||||
|
\li QT_ANDROID_NO_EXIT_CALL: In some cases, an Android app might not be able
|
||||||
|
to safely clean all threads while calling \c exit() and crash. This is because
|
||||||
|
there are C++ threads running and destroying these without joining them
|
||||||
|
terminates an application. These threads cannot be joined because it's not
|
||||||
|
possible to know if they are running.
|
||||||
|
This flag avoids calling \c exit() and lets the Android system handle this,
|
||||||
|
at the cost of not attempting to run global destructors.
|
||||||
|
\li QT_ANDROID_ENABLE_WORKAROUND_TO_DISABLE_PREDICTIVE_TEXT: Allows
|
||||||
|
the hiding of predictive text suggestions, mainly from password fields. Certain
|
||||||
|
devices don’t handle this properly.
|
||||||
|
\li QT_ANDROID_ENABLE_RIGHT_MOUSE_FROM_LONG_PRESS: Interprets a long touch press
|
||||||
|
as a right mouse click event.
|
||||||
|
\li QT_ANDROID_DISABLE_ACCESSIBILITY: Disable \l{Assistive Tools}{Accessibility}.
|
||||||
|
This prevents the processing of accessibility events.
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
\section2 Less commonly used variables
|
||||||
|
\list
|
||||||
|
\li QT_ANDROID_FONT_LOCATION: Sets a custom path for system fonts.
|
||||||
|
\li QT_ANDROID_MAX_ASSETS_CACHE_SIZE: cache size for assets under the
|
||||||
|
assets folder.
|
||||||
|
\li QT_ANDROID_DISABLE_GLYPH_CACHE_WORKAROUND
|
||||||
|
\li QT_ANDROID_RASTER_IMAGE_DEPTH
|
||||||
|
\li QT_ANDROID_MINIMUM_MOUSE_DOUBLE_CLICK_DISTANCE
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
\note Though related, these are not the same as CMake commands or variables used
|
||||||
|
by Qt For Android, see \l{Qt for Android: CMake}
|
||||||
|
|
||||||
|
*/
|
|
@ -0,0 +1,56 @@
|
||||||
|
// Copyright (C) 2022 The Qt Company Ltd.
|
||||||
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\page android-how-it-works.html
|
||||||
|
\title Qt for Android: How It Works
|
||||||
|
\brief An overview of architecture, toolchain, and other useful information.
|
||||||
|
\ingroup androidplatform
|
||||||
|
|
||||||
|
|
||||||
|
If you're a developer looking for a high level overview of how Qt supports the
|
||||||
|
Android platform, this page is for you.
|
||||||
|
|
||||||
|
The video from the 2021 Qt World Summit gives an overview of Qt for Android.
|
||||||
|
|
||||||
|
\youtube nmvurCcsWos "A picture of an agenda that links to a YouTube video"
|
||||||
|
|
||||||
|
\section1 Architecture
|
||||||
|
|
||||||
|
\section2 Activities
|
||||||
|
The implementation of Qt for Android is made up of three main parts,
|
||||||
|
and the glue in between:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li Qt Core
|
||||||
|
\li the Android QPA plugin
|
||||||
|
\li The Java Android code
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
\image qt_android_architecture.png "An overview Qt for Android's Architecture"
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li The default entry point for a Qt app is the QtActivity, which upon
|
||||||
|
starting, will call the QtActivityLoader which will try to load the
|
||||||
|
application by calling the QtActivityDelegate.
|
||||||
|
\li QtActivityDelegate will make the necessary calls to load the Qt
|
||||||
|
libraries and the main app library with the help of QtNative.
|
||||||
|
\li QtNative handles the various Java operations that don’t need to be
|
||||||
|
exposed, such as: loading the libraries and handling files.
|
||||||
|
\li The QtActivityDelegate also handles the different listeners and input
|
||||||
|
handlers and propagate them from Java to Qt.
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
\section2 Services
|
||||||
|
|
||||||
|
The architecture here is similar to that of Activities, but with services
|
||||||
|
specific classes.
|
||||||
|
|
||||||
|
For information on how Qt supports Services in Android see \l{Android Services}.
|
||||||
|
|
||||||
|
\section1 Build configuration
|
||||||
|
|
||||||
|
For more information on configuration Qt for Android Builds see
|
||||||
|
\l{Environment Variables Used by Qt for Android} and \{Qt for Android: CMake}.
|
||||||
|
|
||||||
|
*/
|
Loading…
Reference in New Issue