diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/reference/items/convenience/androidapk.qdoc | 116 | ||||
-rw-r--r-- | doc/reference/items/convenience/appleapplicationdiskimage.qdoc | 1 | ||||
-rw-r--r-- | doc/reference/items/convenience/application.qdoc | 7 | ||||
-rw-r--r-- | doc/reference/modules/android-ndk-module.qdoc | 22 | ||||
-rw-r--r-- | doc/reference/modules/android-sdk-module.qdoc | 88 | ||||
-rw-r--r-- | doc/targets/qbs-target-android.qdoc | 14 |
6 files changed, 96 insertions, 152 deletions
diff --git a/doc/reference/items/convenience/androidapk.qdoc b/doc/reference/items/convenience/androidapk.qdoc deleted file mode 100644 index 19c4541ec..000000000 --- a/doc/reference/items/convenience/androidapk.qdoc +++ /dev/null @@ -1,116 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qbs. -** -** $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$ -** -****************************************************************************/ -/*! - \contentspage list-of-convenience-items.html - \nextpage AppleApplicationDiskImage - \qmltype AndroidApk - \inherits Product - \inqmlmodule QbsConvenienceItems - \ingroup list-of-items - \keyword QML.AndroidApk - - \brief Android application package. - - An AndroidApk item is a \l{Product}{product} of the \l{Product::}{type} - \c android.apk that has a \l{Depends}{dependency} on the \l{Android.sdk} - module. The final build result is an Android application package (APK) file. - - Here is what the project file could look like for the BasicMediaDecoder - example that comes with the Android SDK: - - \code - AndroidApk { - name: "Basic Media Decoder" - packageName: "com.example.android.basicmediadecoder" - - property string sourcesPrefix: "Application/src/main/" - - resourcesDir: sourcesPrefix + "/res" - sourcesDir: sourcesPrefix + "/java" - manifestFile: sourcesPrefix + "/AndroidManifest.xml" - } - \endcode -*/ - -/*! - \qmlproperty path AndroidApk::assetsDir - - The base directory for Android assets. - - \note Android requires that the file name of this directory is always - \c "assets". - - \defaultvalue \c "assets" -*/ - -/*! - \qmlproperty bool AndroidApk::automaticSources - - If \c true, Java sources as well as Android resources, assets, and the - manifest file will be automatically included in the product via wildcards. - Set this property to \c false if you want to specify these files manually. - - \defaultvalue \c true -*/ - -/*! - \qmlproperty path AndroidApk::manifestFile - - The file path to the Android manifest file. - - \note Android requires that the file name is always "AndroidManifest.xml". - - \defaultvalue \c "AndroidManifest.xml" -*/ - -/*! - \qmlproperty string AndroidApk::packageName - - The package name as given in the manifest file. - - \defaultvalue \c name -*/ - -/*! - \qmlproperty path AndroidApk::resourcesDir - - The base directory for Android resources. - - \note Android requires that the file name of this directory is always - \c "res". - - \defaultvalue \c "res" -*/ - -/*! - \qmlproperty path AndroidApk::sourcesDir - - The base directory for Java sources. This property is only relevant if - \l automaticSources is enabled. - - \defaultvalue \c "src" -*/ diff --git a/doc/reference/items/convenience/appleapplicationdiskimage.qdoc b/doc/reference/items/convenience/appleapplicationdiskimage.qdoc index 87129169d..69a10c797 100644 --- a/doc/reference/items/convenience/appleapplicationdiskimage.qdoc +++ b/doc/reference/items/convenience/appleapplicationdiskimage.qdoc @@ -26,7 +26,6 @@ ****************************************************************************/ /*! \contentspage list-of-convenience-items.html - \previouspage AndroidApk \nextpage AppleDiskImage \qmltype AppleApplicationDiskImage \since Qbs 1.9 diff --git a/doc/reference/items/convenience/application.qdoc b/doc/reference/items/convenience/application.qdoc index 3c87f51f6..30b3f9c73 100644 --- a/doc/reference/items/convenience/application.qdoc +++ b/doc/reference/items/convenience/application.qdoc @@ -39,9 +39,10 @@ An Application item is a \l{Product} of the \l{Product::}{type} \c "application". - \note On Android, an Application item instead builds a shared library for - products whose \l{Product::}{consoleApplication} property is set to - \c false. + The target artifact of this type of product is usually an executable binary. + However, on Android, unless you set \l{Product::}{consoleApplication} to \c true, + the application target will be an APK package, and a dependency to the + \l{Android.sdk} module is automatically added to the product. */ /*! diff --git a/doc/reference/modules/android-ndk-module.qdoc b/doc/reference/modules/android-ndk-module.qdoc index 032cca97f..08f54a9c9 100644 --- a/doc/reference/modules/android-ndk-module.qdoc +++ b/doc/reference/modules/android-ndk-module.qdoc @@ -34,27 +34,21 @@ \brief Provides support for building native Android libraries. The \c Android.ndk module contains the properties and rules to create native libraries - for use in \l{AndroidApk}{Android application packages}. + for use in Android applications. Normally, you will not use this module directly, but instead work - with the \l{DynamicLibrary} and \l{StaticLibrary} items that \QBS provides. + with the \l{DynamicLibrary}, \l{StaticLibrary} and \l Application items + that \QBS provides. Here is what the project file for the \c hello-jni example that comes with the NDK could look like: \code - Project { - DynamicLibrary { - name: "hello-jni" - qbs.architectures: ["mips", "x86"] - files: ["jni/hello-jni.c"] - } - - AndroidApk { - name: "HelloJni" - packageName: "com.example.hellojni" - Depends { productTypes: ["android.nativelibrary"] } - } + CppApplication { + name: "HelloJni" + Android.sdk.packageName: "com.example.hellojni" + qbs.architectures: ["mips", "x86"] + files: "app/src/main/jni/hello-jni.c" } \endcode diff --git a/doc/reference/modules/android-sdk-module.qdoc b/doc/reference/modules/android-sdk-module.qdoc index bad547311..98565f8b8 100644 --- a/doc/reference/modules/android-sdk-module.qdoc +++ b/doc/reference/modules/android-sdk-module.qdoc @@ -35,9 +35,7 @@ The Android.sdk module contains the properties and rules to create Android application packages from Java sources, resources, and so on. - - Normally, you will not use this module directly, but instead work - with the \l{AndroidApk} item that \QBS provides. + It is usually pulled in indirectly by declaring an \l Application product. \section2 Relevant File Tags \target filetags-android-sdk @@ -59,14 +57,8 @@ \li - \li 1.4.0 \li Attached to Android assets, which are typically located in an - \c{assets/} subdirectory. Using the \l{AndroidApk} item takes care - of tagging these files for you. - \row - \li \c{"android.apk"} - \li n/a - \li 1.4.0 - \li Attached to the output artifact of the rule that creates an APK - package. It is the default type of the \l{AndroidApk} item. + \c{assets/} subdirectory. These files are tagged automatically + if the \l automaticSources property is enabled. \row \li \c{"android.manifest"} \li \c{AndroidManifest.xml} @@ -78,8 +70,8 @@ \li - \li 1.4.0 \li Attached to Android resources, which are typically located in a - \c{res/} subdirectory. Using the \l{AndroidApk} item takes care of - tagging these files for you. + \c{res/} subdirectory. These files are tagged automatically + if the \l automaticSources property is enabled. \endtable */ @@ -125,3 +117,73 @@ \defaultvalue \c{true} */ + +/*! + \qmlproperty string Android.sdk::assetsDir + + The base directory for Android assets in the respective product. + + \note Android requires that the file name of this directory is always + \c "assets". + + \defaultvalue \c "src/main/assets" in the product source directory +*/ + +/*! + \qmlproperty bool Android.sdk::automaticSources + + If \c true, Java sources as well as Android resources, assets, and the + manifest file will be automatically included in the respective product + via wildcards. Set this property to \c false if you want to specify + these files manually. + + \defaultvalue \c true +*/ + +/*! + \qmlproperty string Android.sdk::manifestFile + + The file path to the Android manifest file. + This property is only relevant if \l automaticSources is enabled. + + \note Android requires that the file name is always "AndroidManifest.xml". + + \defaultvalue \c "src/main/AndroidManifest.xml" in the product source directory +*/ + +/*! + \qmlproperty string Android.sdk::packageName + + The package name of the respective product. Must match the one given in the manifest file. + + \defaultvalue \c name +*/ + +/*! + \qmlproperty string Android.sdk::resourcesDir + + The base directory for Android resources in the respective product. + + \note Android requires that the file name of this directory is always + \c "res". + + \defaultvalue \c "src/main/res" in the product source directory +*/ + +/*! + \qmlproperty path Android.sdk::sourcesDir + + The base directory for Java sources. This property is only relevant if + \l automaticSources is enabled. + + \defaultvalue \c "src/main/java" in the product source directory +*/ + +/*! + \qmlproperty string Android.sdk::apkBaseName + + The base name of the APK file to to be built, that is, the file name + without the ".apk" extension. + + \defaultvalue \l packageName +*/ diff --git a/doc/targets/qbs-target-android.qdoc b/doc/targets/qbs-target-android.qdoc index e5d52337f..46081db0d 100644 --- a/doc/targets/qbs-target-android.qdoc +++ b/doc/targets/qbs-target-android.qdoc @@ -55,11 +55,11 @@ \li Shared libraries containing native code. \endlist - You can use the \l{AndroidApk} item to build application - packages for Android. The properties of the AndroidApk item specify the - locations of the APK source files. + You can use the \l{Application} item to build application + packages for Android. - The AndroidApk item has a dependency on the \l{Android.sdk} module, which + If the \l{qbs::targetPlatform}{target platform} is \c{"android"}, then the Application item has + a dependency on the \l{Android.sdk} module, which contains the properties and rules to create Android application packages from source files. @@ -67,7 +67,11 @@ Android libraries that are bundled into the APK. The \c qbs.architectures property specifies the architectures to build for, with the default value \c armv7a. + If you have only one native library, you can simply list its sources + within the main Application item, and it will get built and packaged + automatically. - The \l{DynamicLibrary} item has a dependency on the \l{Android.ndk} module, + The \l{DynamicLibrary} item, as well as the \l CppApplication item, + has a dependency on the \l{Android.ndk} module, and contains the properties and rules to create native libraries. */ |