diff options
author | Liang Qi <liang.qi@qt.io> | 2017-05-31 08:12:46 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-05-31 08:12:46 +0200 |
commit | ff6c41a76ea132616b37a262f999a9bed9598d8d (patch) | |
tree | 6fdb2eab272c6ce394e6463f58384493fcac2a82 | |
parent | 6eb951d6182c30d3330006e584d55bf1fe96896f (diff) | |
parent | c5028bdacabf02c2d2e06872e6fdbfa8f86f8401 (diff) | |
download | qtdoc-ff6c41a76ea132616b37a262f999a9bed9598d8d.tar.gz |
Merge remote-tracking branch 'origin/5.9.0' into 5.9
Change-Id: I015157589270f4e851f8080274e9304f193bd8e4
-rw-r--r-- | dist/changes-5.9.0 | 30 | ||||
-rw-r--r-- | doc/src/platforms/android.qdoc | 97 | ||||
-rw-r--r-- | doc/src/platforms/supported-platforms.qdocinc | 4 | ||||
-rw-r--r-- | doc/src/qmlapp/deployment.qdoc | 81 | ||||
-rw-r--r-- | doc/src/whatsnew/whatsnew56.qdoc | 2 | ||||
-rw-r--r-- | doc/src/whatsnew/whatsnew59.qdoc | 2 |
6 files changed, 177 insertions, 39 deletions
diff --git a/dist/changes-5.9.0 b/dist/changes-5.9.0 new file mode 100644 index 00000000..e48a9b2a --- /dev/null +++ b/dist/changes-5.9.0 @@ -0,0 +1,30 @@ +Qt 5.9 introduces many new features and improvements as well as bugfixes +over the 5.8.x series. For more details, refer to the documentation +included in this distribution. The documentation is also available online: + +https://doc.qt.io/qt-5/ + +The Qt version 5.9 series is binary compatible with the 5.8.x series. +Applications compiled for 5.8 will continue to run with 5.9. + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* General * +**************************************************************************** + + - Updated information on supported platforms. + - Updated Qt Platform Abstraction (QPA) documentation. + - Updated Qt for embedded Linux documentation. + - Updated Windows deployment tool (windeployqt) documentation. + - Fixed the information on ANGLE libraries in 'Qt for Windows + Requirements'. + - Updated the example code for connecting overloaded signals/slots. + - Raised the recommended version of CMake to use with Qt to 3.1.0. + - Fixed several instances of missing, incorrect, or obsolete information. diff --git a/doc/src/platforms/android.qdoc b/doc/src/platforms/android.qdoc index 23a2d9d5..ce1c4abb 100644 --- a/doc/src/platforms/android.qdoc +++ b/doc/src/platforms/android.qdoc @@ -140,40 +140,71 @@ The following topics provide more details about how to use Qt for Android: \title Getting Started with Qt for Android \brief Provides instructions to install and configure your development environment. -\section1 Requirements +\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} + (recommended version 10e) \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. -\li On Windows, you need the following additional installations: - \list - \li \l{http://ant.apache.org/bindownload.cgi}{Apache Ant} v1.8 or later - \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 details about how to get 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 and - check whether your device responds to it. - \endlist +\li \l{http://ant.apache.org/bindownload.cgi}{Apache Ant} v1.8 or later \endlist -After installing these tools, update the Android SDK to get the API -and tools packages required for development. You can update the SDK using 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}, which enables you to select the packages you want -to install: +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. + +\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 ./android update sdk \endcode -\note If you're developing on a 64-bit Linux machine, you must install the +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: @@ -187,26 +218,18 @@ To run the emulator, the following dependencies are also necessary: sudo apt-get install libsdl1.2debian:i386 \endcode -\section1 Installing Qt for Android - -The Qt 5 installers for different platforms are available from the \l Downloads -page. Choose the one that is appropriate. +\section2 Qt Creator IDE -Once you have the installer, follow these steps: +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}. -\list 1 - \li Run the installer to begin installing Qt 5 on your development platform. - \li Select the components you need in the \uicontrol{Select Components} - screen and click \uicontrol Next. - \li After the installation is complete, the installer lets you open Qt Creator - and the README. Select to open Qt Creator and click \uicontrol Finish. - \li Select \uicontrol{Tools > Options > Android} in Qt Creator to add - the Android NDK and SDK paths. For more details, see - \l{Qt Creator: Connecting Android Devices}{Qt Creator Manual}. -\endlist +\section1 Testing Your Setup Now you can test your development setup by running the examples that came -with the Qt 5 package installed earlier. You can browse the examples in +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. diff --git a/doc/src/platforms/supported-platforms.qdocinc b/doc/src/platforms/supported-platforms.qdocinc index 9cfd8649..d9e23c22 100644 --- a/doc/src/platforms/supported-platforms.qdocinc +++ b/doc/src/platforms/supported-platforms.qdocinc @@ -40,7 +40,7 @@ Mobile Platforms: \l {Qt for Android}{Android}, //! [all] \section1 Qt 5.9 -\b {Supported until one year after release} +\b {Long-term support (LTS)}: Supported until three years after release //! [5.9] //! [latest] @@ -273,7 +273,7 @@ Mobile Platforms: \l {Qt for Android}{Android}, \section1 Qt 5.6 //! [5.6] - \b {Supported until Mar. 16, 2019} + \b {Long-term support (LTS)}: Supported until Mar. 16, 2019 \table 80% \header \li Platform \li Compiler \li Notes diff --git a/doc/src/qmlapp/deployment.qdoc b/doc/src/qmlapp/deployment.qdoc index 7d560891..df2bb22c 100644 --- a/doc/src/qmlapp/deployment.qdoc +++ b/doc/src/qmlapp/deployment.qdoc @@ -61,6 +61,87 @@ the \c QT_INSTALL_QML environment points to the location of the libraries. The \l{Downloads}{Qt Installers} install the QML libraries in \e{<version>}\c{/}\e{<compiler>}\c{/qml} directory. +\section1 QML Caching + +The QML runtime loads QML documents by parsing them and generating native code. +Most of the time the document hasn't changed since the last time it was loaded. +In order to speed up this loading process, the QML runtime maintains a cache +file for each qml document. This cache file contains the native code and a +binary representation of the QML document structure. In addition, when multiple +applications use the same QML document, the memory needed for the code is +shared between application processes. The cache files are loaded via the \c +mmap() system call on POSIX compliant operating systems or \c +CreateFileMapping() on Windows, resulting in significant memory savings. + +Each time you load a changed QML document, the cache is automatically +re-created. Cache files are located in the same directory as the source code, +if the directory is writable. Otherwise they will be placed in a sub-directory +of QStandardPaths::CacheLocation with the name "qmlcache". The file extension +is \c .qmlc for QML documents and \c .jsc for imported JavaScript modules. + +\section1 QML Caching for Deployment (Preview) + +The automatic caching of QML documents into cache files result in significantly +faster load times of applications. However, the initial creation of cache files +can still take time, especially when the application starts first. To avoid +that initial step and provide faster start-up times from the very beginning, +Qt's build system allows you to create these cache files in advance. + +If you would like to deploy your application with cache files generated ahead +of time, you must satisfy four conditions in your \c .pro file: + +\list +\li All QML documents (including JavaScript files) must be added to the +\c QML_FILES variable. +\li Your .pro file must use the \c load(qml_module) or \c load(qml_plugin) +directive at the end, to activate the processing of \c QML_FILES and generation +of install rules. +\li The \c TARGETPATH variable must contain the import name of your QML +module with forward slashes as separators. +\li You must enable Ahead-of-Time caching using the \c CONFIG+=qmlcache directive. +\endlist + +For example if you are developing the module \c MyCompany.CommonComponents, +then your \c .pro file could look like this: + +\code +TARGETPATH = MyCompany/CommonComponents +QML_FILES = BlueButton.qml RedSlider.qml qmldir +CONFIG += qmlcache +load(qml_module) +\endcode + +Similarly, if your module contains a C++ plugin then you use \c qml_plugin: + +\code +TARGETPATH = MyCompany/CommonComponents +QML_FILES = BlueButton.qml RedSlider.qml qmldir +CONFIG += qmlcache +SOURCES = plugin.cpp +QT += quick +load(qml_plugin) +\endcode + +In these examples the QML module consisting of the QML documents, the \c qmldir +file, and optionally the C++ plugin, will be installed into the +MyCompany/CommonComponents sub-directory of \c $$[QT_INSTALL_QML]. By enabling +the \c qmlcache configuration, the cache files will be created at build time +and also installed into the same directory for deployment. + +\section2 Limitations + +Currently this feature has some limitations: + +\list +\li Only QML and JavaScript documents that are part of a QML module can be +compiled ahead of time. +\li For cross-compilation, only the ARMv7 and ARMv8 target architectures are +supported. +\li For native compilation, Ahead-of-Time caching is limited to architectures +where the QML runtime supports Just-in-Time compilation. This includes x86, x86-64, +ARMv7, ARMv8 and MIPS32. +\endlist + \section1 Prototyping with QML Scene The Declarative UI package includes a QML runtime tool, diff --git a/doc/src/whatsnew/whatsnew56.qdoc b/doc/src/whatsnew/whatsnew56.qdoc index ed176b39..49453941 100644 --- a/doc/src/whatsnew/whatsnew56.qdoc +++ b/doc/src/whatsnew/whatsnew56.qdoc @@ -30,6 +30,8 @@ \title What's New in Qt 5.6 \brief Lists the new features in Qt 5.6. + Qt 5.6 is a long-term support (LTS) release. + \section1 New Modules \list diff --git a/doc/src/whatsnew/whatsnew59.qdoc b/doc/src/whatsnew/whatsnew59.qdoc index a54cc705..29ccad60 100644 --- a/doc/src/whatsnew/whatsnew59.qdoc +++ b/doc/src/whatsnew/whatsnew59.qdoc @@ -30,6 +30,8 @@ \title What's New in Qt 5.9 \brief Lists the new features in Qt 5.9. + Qt 5.9 is a long-term support (LTS) release. + \section1 New Features in Qt 5.9 \section2 Qt Core Module |