The generation of a WINDEV Mobile application for Android groups all the project elements (windows, code, etc.) in an archive in order for the application to be deployed on an Android device (physical or emulator) and to be distributed.

Versions 21 and laterThe Android SDK and Gradle are required to create the Android executable. You can:

Download and install these tools automatically. In this case, WINDEV Mobile downloads and installs all the necessary tools with the requested options. Only an Internet connection is required.

Use the tools automatically installed. This option is available if the tools have been downloaded and installed during a previous generation.

Use the tools already installed on your computer. In this case, all you have to do is specify the setup paths of Gradle and Android SDK. See Installing the Android SDK for more details.

New in version 21The Android SDK and Gradle are required to create the Android executable. You can:

Download and install these tools automatically. In this case, WINDEV Mobile downloads and installs all the necessary tools with the requested options. Only an Internet connection is required.

Use the tools automatically installed. This option is available if the tools have been downloaded and installed during a previous generation.

Use the tools already installed on your computer. In this case, all you have to do is specify the setup paths of Gradle and Android SDK. See Installing the Android SDK for more details.

The Android SDK and Gradle are required to create the Android executable. You can:

Download and install these tools automatically. In this case, WINDEV Mobile downloads and installs all the necessary tools with the requested options. Only an Internet connection is required.

Use the tools automatically installed. This option is available if the tools have been downloaded and installed during a previous generation.

Use the tools already installed on your computer. In this case, all you have to do is specify the setup paths of Gradle and Android SDK. See Installing the Android SDK for more details.

Specify the application name and the package.

The application name is the name that will be displayed below the application icon.

Versions 18 and laterFor the multilingual applications, this name can be entered in several languages. During the setup, the name of the application will be chosen according to the language settings specified for the device. If the application name is not available in the device language, the name defined for the default language of project will be used.

New in version 18For the multilingual applications, this name can be entered in several languages. During the setup, the name of the application will be chosen according to the language settings specified for the device. If the application name is not available in the device language, the name defined for the default language of project will be used.

For the multilingual applications, this name can be entered in several languages. During the setup, the name of the application will be chosen according to the language settings specified for the device. If the application name is not available in the device language, the name defined for the default language of project will be used.

The package is used to identify the application. By convention, it contains the company name (or its Internet domain name in reversed order) followed by the application name. The application name corresponds to the name in the default language of project.

Choose (if necessary) an icon for the application (image in PNG format). This icon is used to make the application more visible in the menu of applications. The default icon will be used if no icon is selected.

Versions 16 and laterAn icon preview is displayed. The arrow button is used to select different icons according to the density of the screen (low density, medium density, high density and very high density).

New in version 16An icon preview is displayed. The arrow button is used to select different icons according to the density of the screen (low density, medium density, high density and very high density).

Versions 18 and laterSpecify whether the application must display (or not) a splash screen at startup. The splash screen is used to make the user wait while running the initialization code of project. See Characteristics of splash screen for more details.

New in version 18Specify whether the application must display (or not) a splash screen at startup. The splash screen is used to make the user wait while running the initialization code of project. See Characteristics of splash screen for more details.

Specify whether the application must display (or not) a splash screen at startup. The splash screen is used to make the user wait while running the initialization code of project. See Characteristics of splash screen for more details.

Enter the general information about the application: the company name, the copyright and the application description.

Versions 18 and laterSpecify whether the application must be automatically launched when starting the device system. Note: ExeInfo is used to find out the start mode of Android application.

New in version 18Specify whether the application must be automatically launched when starting the device system. Note: ExeInfo is used to find out the start mode of Android application.

Specify whether the application must be automatically launched when starting the device system. Note: ExeInfo is used to find out the start mode of Android application.

Go to the next step.

Specify the version number of generated application. Two formats are available for the version numbers:

Standard format. This format is the standard format supported by Windows. This format corresponds to a set of 4 numbers separated by dots.

The first group of 4 digits corresponds to the number of major changes performed in the application.

The second group of 4 digits corresponds to the number of minor changes performed in the application.

The third group of 4 digits corresponds to the generation number. We advise you to automatically increment this number at each generation. This increment operation is automatically performed if "Automatically increment the version at each generation" is checked.

The last group of 4 digits corresponds to the number of reviews (branches in the SCM for example).We advise you to automatically increment this number at each generation. This increment operation is automatically performed if "Automatically increment the version at each generation" is checked.

Format for compatibility. This format was used until version 12 for the WINDEV applications.Note: All the characters (digits and letters) are allowed. For example: "1.01A".We advise you to:

use a different version number whenever the executable program is created. Indeed, when installing an update, this version number is used to check whether the update is mandatory or not.

automatically increment the last characters (digit or letter) of the version number whenever the executable program is created (check "Automatically increment the version at each generation"). For example:- the version number "1.01A" will become "1.01B".- the version number "A15Z" will become "A16A".

Go to the next step.

The signature of the application is mandatory for a setup on an Android device. It can be done according to three different methods:

Using a couple of public/private keys bought toward a trusted authority: this solution is recommended if the application must be distributed in a business way. It guarantees that the application author can be identified.

Using a couple of auto-signed public/private keys: this solution can be used if the application is distributed inside a company for example. It avoids going through the trusted authority (whose services are charged for in most cases).

Using a generic signature: this solution can be used when developing the application.

Select the permissions required by the application to operate. Each application must indicate to the Android operating system the services to which it must access in order to operate (access to Internet, access to the camera, etc.). WINDEV Mobile automatically adds the necessary permissions according to the statements used in the application. Note: If procedures written in native Java have been used, the corresponding permissions must be specified.

Versions 17 and laterIf your application is available on Google Play, you have the ability to propose your application only for the devices supporting the features used by your application. For example, if your application is using the inertial scroll, it will only be proposed for the devices supporting this feature. You can choose to add or remove specific features.

New in version 17If your application is available on Google Play, you have the ability to propose your application only for the devices supporting the features used by your application. For example, if your application is using the inertial scroll, it will only be proposed for the devices supporting this feature. You can choose to add or remove specific features.

If your application is available on Google Play, you have the ability to propose your application only for the devices supporting the features used by your application. For example, if your application is using the inertial scroll, it will only be proposed for the devices supporting this feature. You can choose to add or remove specific features.

Versions 16 and laterSpecify whether files and libraries must be included in the Android application. You have the ability to include:

extracted by fExtractResource (files to modify by the application for example).If an image is included in the Android application, it can be directly assigned to a control by specifying its name. For example, IMG_Image = image1

New in version 16Specify whether files and libraries must be included in the Android application. You have the ability to include:

extracted by fExtractResource (files to modify by the application for example).If an image is included in the Android application, it can be directly assigned to a control by specifying its name. For example, IMG_Image = image1

Specify whether files and libraries must be included in the Android application. You have the ability to include:

extracted by fExtractResource (files to modify by the application for example).If an image is included in the Android application, it can be directly assigned to a control by specifying its name. For example, IMG_Image = image1

The generation is using the Android SDK. It may be useful to specify its location (in most cases, this location was specified when creating the first Android project). In the "Platform" combo box, choose the version of Android for which the application must be compiled. You also have the ability to customize the compilation commands.Notes:

Click among the quick access buttons. The wizard for generating the Android application starts.

Versions 21 and laterThe Android SDK and Gradle are required to create the Android executable. You can:

Download and install these tools automatically. In this case, WINDEV Mobile downloads and installs all the necessary tools with the requested options. Only an Internet connection is required. This method is recommended. Caution: The first download can be quite long.

Use the tools automatically installed. This option is available if the tools have been downloaded and installed during a previous generation.

Use the tools already installed on your computer. In this case, all you have to do is specify the setup paths of Gradle and Android SDK. See Installing the Android SDK for more details.

New in version 21The Android SDK and Gradle are required to create the Android executable. You can:

Download and install these tools automatically. In this case, WINDEV Mobile downloads and installs all the necessary tools with the requested options. Only an Internet connection is required. This method is recommended. Caution: The first download can be quite long.

Use the tools automatically installed. This option is available if the tools have been downloaded and installed during a previous generation.

Use the tools already installed on your computer. In this case, all you have to do is specify the setup paths of Gradle and Android SDK. See Installing the Android SDK for more details.

The Android SDK and Gradle are required to create the Android executable. You can:

Download and install these tools automatically. In this case, WINDEV Mobile downloads and installs all the necessary tools with the requested options. Only an Internet connection is required. This method is recommended. Caution: The first download can be quite long.

Use the tools automatically installed. This option is available if the tools have been downloaded and installed during a previous generation.

Use the tools already installed on your computer. In this case, all you have to do is specify the setup paths of Gradle and Android SDK. See Installing the Android SDK for more details.

The application name is the name that will be displayed below the application icon.

Versions 18 and laterFor the multilingual applications, this name can be entered in several languages. During the setup, the name of the application will be chosen according to the language settings specified for the device. If the application name is not available in the device language, the name defined for the default language of project will be used.

New in version 18For the multilingual applications, this name can be entered in several languages. During the setup, the name of the application will be chosen according to the language settings specified for the device. If the application name is not available in the device language, the name defined for the default language of project will be used.

For the multilingual applications, this name can be entered in several languages. During the setup, the name of the application will be chosen according to the language settings specified for the device. If the application name is not available in the device language, the name defined for the default language of project will be used.

The package is used to identify the application. By convention, it contains the company name (or its Internet domain name in reversed order) followed by the application name. The application name corresponds to the name in the default language of project.

Choose (if necessary) an icon for the application (image in PNG format). This icon is used to make the application more visible in the menu of applications. The default icon will be used if no icon is selected.An icon preview is displayed. The arrow button is used to select different icons according to the density of the screen (low density, medium density, high density and very high density).

Versions 22 and laterSpecify the email address that will be used by default to send the error report during a fatal error. A specific window is displayed when a fatal error occurs in the application:

The user can:

Click the "Error report" link to see the error displayed.

Check the box "Send the error report by email". In this case:

if the email address was specified, the box will be checked by default and the user will receive the error report in his messaging with the "Sender" and "Recipient" parameters filled.

if the email address was not specified, the user will receive the error report in his messaging and it will have to fill the recipient address.

Note: To identify the problems encountered by the end user, you also have the ability to use the ADB logs. See Managing ADB logs for more details.

New in version 22Specify the email address that will be used by default to send the error report during a fatal error. A specific window is displayed when a fatal error occurs in the application:

The user can:

Click the "Error report" link to see the error displayed.

Check the box "Send the error report by email". In this case:

if the email address was specified, the box will be checked by default and the user will receive the error report in his messaging with the "Sender" and "Recipient" parameters filled.

if the email address was not specified, the user will receive the error report in his messaging and it will have to fill the recipient address.

Note: To identify the problems encountered by the end user, you also have the ability to use the ADB logs. See Managing ADB logs for more details.

Specify the email address that will be used by default to send the error report during a fatal error. A specific window is displayed when a fatal error occurs in the application:

The user can:

Click the "Error report" link to see the error displayed.

Check the box "Send the error report by email". In this case:

if the email address was specified, the box will be checked by default and the user will receive the error report in his messaging with the "Sender" and "Recipient" parameters filled.

if the email address was not specified, the user will receive the error report in his messaging and it will have to fill the recipient address.

Note: To identify the problems encountered by the end user, you also have the ability to use the ADB logs. See Managing ADB logs for more details.

Go to the next step.

Versions 18 and laterSpecify whether the application must display (or not) a splash screen at startup. The splash screen is used to make the user wait while running the initialization code of project. See Characteristics of splash screen for more details.

New in version 18Specify whether the application must display (or not) a splash screen at startup. The splash screen is used to make the user wait while running the initialization code of project. See Characteristics of splash screen for more details.

Specify whether the application must display (or not) a splash screen at startup. The splash screen is used to make the user wait while running the initialization code of project. See Characteristics of splash screen for more details.

Enter the general information about the application: the company name, the copyright and the application description.

Versions 18 and laterSpecify whether the application must be automatically launched when starting the device system. Note: ExeInfo is used to find out the start mode of Android application.

New in version 18Specify whether the application must be automatically launched when starting the device system. Note: ExeInfo is used to find out the start mode of Android application.

Specify whether the application must be automatically launched when starting the device system. Note: ExeInfo is used to find out the start mode of Android application.

Versions 22 and laterSpecify whether the maximized application windows can be resized (multi-Window). This option is taken into account from Android 7. If this option is enabled, the windows can be displayed in different modes (1/3, 1/2 or 2/3).

New in version 22Specify whether the maximized application windows can be resized (multi-Window). This option is taken into account from Android 7. If this option is enabled, the windows can be displayed in different modes (1/3, 1/2 or 2/3).

Specify whether the maximized application windows can be resized (multi-Window). This option is taken into account from Android 7. If this option is enabled, the windows can be displayed in different modes (1/3, 1/2 or 2/3).

Go to the next step.

Specify the version number of generated application. Two formats are available for the version numbers:

Standard format. This format is the standard format supported by Windows. This format corresponds to a set of 4 numbers separated by dots.

The first group of 4 digits corresponds to the number of major changes performed in the application.

The second group of 4 digits corresponds to the number of minor changes performed in the application.

The third group of 4 digits corresponds to the generation number. We advise you to automatically increment this number at each generation. This increment operation is automatically performed if "Automatically increment the version at each generation" is checked.

The last group of 4 digits corresponds to the number of reviews (branches in the SCM for example).

Format for compatibility. This format was used until version 12 for the WINDEV applications.Note: All the characters (digits and letters) are allowed. For example: "1.01A".We advise you to:

use a different version number whenever the executable program is created. Indeed, when installing an update, this version number is used to check whether the update is mandatory or not.

automatically increment the last characters (digit or letter) of the version number whenever the executable program is created (check "Automatically increment the version at each generation"). For example:- the version number "1.01A" will become "1.01B".- the version number "A15Z" will become "A16A".

Go to the next step.

The signature of the application is mandatory for a setup on an Android device. It can be done according to three different methods:

Using a couple of public/private keys bought toward a trusted authority: this solution is recommended if the application must be distributed in a business way. It guarantees that the application author can be identified.

Using a couple of auto-signed public/private keys: this solution can be used if the application is distributed inside a company for example. It avoids going through the trusted authority (whose services are charged for in most cases).

Using a generic signature: this solution can be used when developing the application. An application signed with a generic key cannot be published. Its use is limited to tests in "Go" mode on the same development computer.

Go to the next step.

Specify whether files must be included in the Android application. You have the ability to include:

specific resources: images, ...

HFSQL data files used by the application, ...

By default, the files included in the archive are read-only ("Read" option checked). They can be:

used in the read-only application directly. For example, if an image is included in the read-only Android application, it can be directly assigned to a control by specifying its name. For example:

IMG_Image = image1

extracted from the archive by programming (fExtractResource). In this case, the file can be modified later.

You have the ability to specify the destination directory in the l'APK (which means the destination directory in the archive). The "Automatic" option is selected by default: the file is automatically placed in the proper directory according to its type. You have the ability to choose a specific directory.

Versions 22 and laterNote: The "Asset" directory is also proposed.

New in version 22Note: The "Asset" directory is also proposed.

Note: The "Asset" directory is also proposed. If the "Write" option is checked:

the file extraction is automatically performed when starting the application (before running the initialization code of project).

you have the ability to specify an extraction directory. By default, the data files are extracted into the database directory (<DB Directory>)Caution: if the files in "Write" mode already exist on the mobile during the setup, they will not be re-extracted from the archive.

Go to the next step.

Specify whether libraries must be included in the Android application. You have the ability to include:

the HFSQL library. This library is required if your application is using HFSQL data files.

specific Java libraries.

Specify whether libraries must be included in the Android application. You have the ability to include:

specific Java libraries (*.jar or *.aar files).

native libraries (SO files).

the HFSQL library. This library is required if your application is using HFSQL data files.

Go to the next step.

Versions 21 and laterThe wizard proposes to include Maven libraries in the Android application. Go to the next step.

New in version 21The wizard proposes to include Maven libraries in the Android application. Go to the next step.

The wizard proposes to include Maven libraries in the Android application. Go to the next step. The wizard proposes to include JCenter dependencies in the Android application. Go to the next step.

Select the permissions required by the application to operate. Each application must indicate to the Android operating system the services to which it must access in order to operate (access to Internet, access to the camera, etc.). WINDEV Mobile automatically adds the necessary permissions according to the statements used in the application. Notes:

If procedures written in native Java have been used, the corresponding permissions must be specified.

Versions 22 and laterFrom Android version 6, the authorization request is performed during the first use of the feature (beforehand, all the requests were grouped during the setup).

New in version 22From Android version 6, the authorization request is performed during the first use of the feature (beforehand, all the requests were grouped during the setup).

From Android version 6, the authorization request is performed during the first use of the feature (beforehand, all the requests were grouped during the setup).

Go to the next step.

If your application is available on Google Play, you have the ability to propose your application only for the devices supporting the features used by your application. For example, if your application is using the inertial scroll, it will only be proposed for the devices supporting this feature. You can choose to add or remove specific features.

If your application is using a Calendar control, a tab with swipe or an internal window with swipe, you must install the "Android Support Library V4" extension. The Android application cannot be generated if this extension is not installed in the Android SDK. The procedure for installing this extension is available from: http://developer.android.com/tools/extras/support-library.html#Downloading

Versions 21 and laterIf your application is using the Facebook identification, the wizard for generating the application provides the identifiers required to save the Android application on Facebook. See Using the Facebook identification for more details.

New in version 21If your application is using the Facebook identification, the wizard for generating the application provides the identifiers required to save the Android application on Facebook. See Using the Facebook identification for more details.

If your application is using the Facebook identification, the wizard for generating the application provides the identifiers required to save the Android application on Facebook. See Using the Facebook identification for more details.

Versions 22 and laterThe application is compiled and generated in background task. The editor can be used when generating the application.

New in version 22The application is compiled and generated in background task. The editor can be used when generating the application.

The application is compiled and generated in background task. The editor can be used when generating the application.

At the end of generation, the application can be automatically copied and started on the Android device if this one is connected to the development computer or on the emulator. For more details:

Versions 16 and latervia "Workshop .. Deploy the last application generated on the mobile device".

New in version 16via "Workshop .. Deploy the last application generated on the mobile device".

via "Workshop .. Deploy the last application generated on the mobile device". by expanding the icon for Android generation ( ) among the quick access buttons and by selecting "Deploy the last application generated on the mobile device".

In the window for copying onto a device:

1. Select the device onto which the application will be copied.

If it is an emulator and if this one is not started, WINDEV Mobile can start it by clicking the "GO" button.If it is an emulator and if this one is not started, WINDEV Mobile will automatically start the emulator when validating the window.

If it is a physical device, this one must be connected via the USB port and the "USB debugging" option must be enabled on the device. See Preparing the Android phone for more details.

Notes:

Starting an emulator may take several minutes. We advise you to keep the emulator started.

This window can also be used to create a new emulator or to delete one if necessary.

You have the ability to specify the parameters of the command line for starting the emulator.

2. At the end of the copy, the application will be automatically started. You will be able to run its test.

Versions 18 and later

Implementing a Splash Screen

Overview

When an Android application is started, the initialization code of project is run before opening the first window. The execution time of this code can be quite long and the user may think that the application is slows or that it encounters a problem.

To solve this problem, we recommend that you use a splash screen, displayed while running the initialization code of the project.

Implementation

To use a splash screen, select "Splash screen" in the wizard and click the "Options" button to configure the information displayed:

The application name: #APPNAME# is used by default and it corresponds to the application name specified at the beginning of generation wizard. This name can be modified.

The application version: By default, #VERSION# is using the version number specified in the generation wizard. This number can be modified.

The load message: This message will be displayed on the splash screen. NextTitle used in the initialization process of project allows you to modify this message dynamically.

The application logo: This logo will be displayed below the application name.

An animation can be displayed while loading the application.

The background image used in portrait mode and in landscape mode. A default image will be used if this image is not specified. If a start image is specified, you have the ability to indicate a specific image according to the resolution of device used.

You also have the ability to specify the color that will be used for the different captions as well as the background color of splash screen.

Operating mode

The initialization code of project is run in a thread while displaying the splash screen. We advise you to perform the long processes in this process (for example, connection test, connection, resource check-out, ...).

New in version 18

Implementing a Splash Screen

Overview

When an Android application is started, the initialization code of project is run before opening the first window. The execution time of this code can be quite long and the user may think that the application is slows or that it encounters a problem.

To solve this problem, we recommend that you use a splash screen, displayed while running the initialization code of the project.

Implementation

To use a splash screen, select "Splash screen" in the wizard and click the "Options" button to configure the information displayed:

The application name: #APPNAME# is used by default and it corresponds to the application name specified at the beginning of generation wizard. This name can be modified.

The application version: By default, #VERSION# is using the version number specified in the generation wizard. This number can be modified.

The load message: This message will be displayed on the splash screen. NextTitle used in the initialization process of project allows you to modify this message dynamically.

The application logo: This logo will be displayed below the application name.

An animation can be displayed while loading the application.

The background image used in portrait mode and in landscape mode. A default image will be used if this image is not specified. If a start image is specified, you have the ability to indicate a specific image according to the resolution of device used.

You also have the ability to specify the color that will be used for the different captions as well as the background color of splash screen.

Operating mode

The initialization code of project is run in a thread while displaying the splash screen. We advise you to perform the long processes in this process (for example, connection test, connection, resource check-out, ...).

Implementing a Splash Screen

Overview

When an Android application is started, the initialization code of project is run before opening the first window. The execution time of this code can be quite long and the user may think that the application is slows or that it encounters a problem.

To solve this problem, we recommend that you use a splash screen, displayed while running the initialization code of the project.

Implementation

To use a splash screen, select "Splash screen" in the wizard and click the "Options" button to configure the information displayed:

The application name: #APPNAME# is used by default and it corresponds to the application name specified at the beginning of generation wizard. This name can be modified.

The application version: By default, #VERSION# is using the version number specified in the generation wizard. This number can be modified.

The load message: This message will be displayed on the splash screen. NextTitle used in the initialization process of project allows you to modify this message dynamically.

The application logo: This logo will be displayed below the application name.

An animation can be displayed while loading the application.

The background image used in portrait mode and in landscape mode. A default image will be used if this image is not specified. If a start image is specified, you have the ability to indicate a specific image according to the resolution of device used.

You also have the ability to specify the color that will be used for the different captions as well as the background color of splash screen.

Operating mode

The initialization code of project is run in a thread while displaying the splash screen. We advise you to perform the long processes in this process (for example, connection test, connection, resource check-out, ...).

Generation options

Configuration for the Android generation

The configuration parameters are as follows:

Android SDK.

Setup location.

Customizing commands.

Customizing the manifest.

Android SDK: The generation is using the Android SDK. You may have to specify:

its location (in most cases, this location was specified when creating the first Android project).

the version used to compile the application.

the minimum version required to run the application. WINDEV Mobile can generate applications compatible with the versions 1.5 (and later) of Android.

Versions 17 and laterNote: If your application is using features not supported by the selected minimum version, a specific icon is displayed on the right of minimum version. An information message allows you to see the details of features that will not be supported if this minimum version is stored.

New in version 17Note: If your application is using features not supported by the selected minimum version, a specific icon is displayed on the right of minimum version. An information message allows you to see the details of features that will not be supported if this minimum version is stored.

Note: If your application is using features not supported by the selected minimum version, a specific icon is displayed on the right of minimum version. An information message allows you to see the details of features that will not be supported if this minimum version is stored.

Versions 16 and laterSetup location: The possible options are as follows:

Internal memory: The application will be installed in the internal memory of the device and it cannot be installed in the external memory (SD card for example). The application will not be installed if the internal memory of device is full.

Internal memory movable to the SD card: The application will be installed in the internal memory of device but it can be moved by the user into the external memory from the application for managing the applications (accessible from the menu of device parameters). If the internal memory of device is full during the setup, the application will be installed in the external memory.

SD Card movable to the internal memory: The application will be installed in the external memory of device but it can be moved by the user into the internal memory from the application for managing the applications (accessible from the menu of device parameters). If the external memory of device is full or not accessible during the setup, the application will be installed in the internal memory.

New in version 16Setup location: The possible options are as follows:

Internal memory: The application will be installed in the internal memory of the device and it cannot be installed in the external memory (SD card for example). The application will not be installed if the internal memory of device is full.

Internal memory movable to the SD card: The application will be installed in the internal memory of device but it can be moved by the user into the external memory from the application for managing the applications (accessible from the menu of device parameters). If the internal memory of device is full during the setup, the application will be installed in the external memory.

SD Card movable to the internal memory: The application will be installed in the external memory of device but it can be moved by the user into the internal memory from the application for managing the applications (accessible from the menu of device parameters). If the external memory of device is full or not accessible during the setup, the application will be installed in the internal memory.

Setup location: The possible options are as follows:

Internal memory: The application will be installed in the internal memory of the device and it cannot be installed in the external memory (SD card for example). The application will not be installed if the internal memory of device is full.

Internal memory movable to the SD card: The application will be installed in the internal memory of device but it can be moved by the user into the external memory from the application for managing the applications (accessible from the menu of device parameters). If the internal memory of device is full during the setup, the application will be installed in the external memory.

SD Card movable to the internal memory: The application will be installed in the external memory of device but it can be moved by the user into the internal memory from the application for managing the applications (accessible from the menu of device parameters). If the external memory of device is full or not accessible during the setup, the application will be installed in the internal memory.

Versions 16 and laterConsequences of installing an application in the external memory:

Only the APK file of the application is installed in the external memory. The application data (databases, external files, etc.) are still stored in the internal memory, at the same location as if the application was installed in the internal memory (/data/data/<package name>/<application name&gt).

The APK file installed on the external memory is encrypted with a key allowing it to operate with the device that installed it only. Therefore, an application installed on the SD Card operates for a single device.

Installing an application on the external memory does not impact the performances of the application.

If the user connects his device to the PC in "mass storage" mode (or in "disk drive" mode), the SD Card is automatically dismantled from the device and it is no longer accessible from this one. All the applications installed on the SD Card and currently operating are killed. The applications installed on the SD Card will not operate as long as the SD Card is dismantled.

New in version 16Consequences of installing an application in the external memory:

Only the APK file of the application is installed in the external memory. The application data (databases, external files, etc.) are still stored in the internal memory, at the same location as if the application was installed in the internal memory (/data/data/<package name>/<application name&gt).

The APK file installed on the external memory is encrypted with a key allowing it to operate with the device that installed it only. Therefore, an application installed on the SD Card operates for a single device.

Installing an application on the external memory does not impact the performances of the application.

If the user connects his device to the PC in "mass storage" mode (or in "disk drive" mode), the SD Card is automatically dismantled from the device and it is no longer accessible from this one. All the applications installed on the SD Card and currently operating are killed. The applications installed on the SD Card will not operate as long as the SD Card is dismantled.

Consequences of installing an application in the external memory:

Only the APK file of the application is installed in the external memory. The application data (databases, external files, etc.) are still stored in the internal memory, at the same location as if the application was installed in the internal memory (/data/data/<package name>/<application name&gt).

The APK file installed on the external memory is encrypted with a key allowing it to operate with the device that installed it only. Therefore, an application installed on the SD Card operates for a single device.

Installing an application on the external memory does not impact the performances of the application.

If the user connects his device to the PC in "mass storage" mode (or in "disk drive" mode), the SD Card is automatically dismantled from the device and it is no longer accessible from this one. All the applications installed on the SD Card and currently operating are killed. The applications installed on the SD Card will not operate as long as the SD Card is dismantled.

Customizing the commands See the documentation about the Android SDK for more details.

Versions 18 and laterCustomizing the manifest. The manifest generated for the Android application can be edited. You have the ability to add, modify, delete nodes or attributes. Caution: Modifying the manifest may trigger compilation errors or failures during the execution on the device.

New in version 18Customizing the manifest. The manifest generated for the Android application can be edited. You have the ability to add, modify, delete nodes or attributes. Caution: Modifying the manifest may trigger compilation errors or failures during the execution on the device.

Customizing the manifest. The manifest generated for the Android application can be edited. You have the ability to add, modify, delete nodes or attributes. Caution: Modifying the manifest may trigger compilation errors or failures during the execution on the device.

Android SDK: The generation is using the Android SDK.
You may have to specify:

its location (in most cases, this location was specified when creating the first Android project).

the version used to compile the application.

the minimum version required to run the application. WINDEV Mobile can generate applications compatible with Android version 1.6 (and later).Note: If your application is using features not supported by the selected minimum version, a specific icon is displayed on the right of minimum version. An information message allows you to see the details of features that will not be supported if this minimum version is stored.

You may have to specify:

its location (in most cases, this location was specified when creating the first Android project).

the minimum version required to run the application. WINDEV Mobile can generate applications compatible with the versions 1.6 (and later) of Android.Note: If your application is using features not supported by the selected minimum version, a specific icon is displayed on the right of minimum version. An information message allows you to see the details of features that will not be supported if this minimum version is stored.

You may have to specify the minimum version required to run the application. WINDEV Mobile can generate applications compatible with Android version 4.0 (and later).Note: If your application is using features not supported by the selected minimum version, a specific icon is displayed on the right of minimum version. An information message allows you to see the details of features that will not be supported if this minimum version is stored.

Setup location: The possible options are as follows:

Internal memory: The application will be installed in the internal memory of the device and it cannot be installed in the external memory (SD card for example). The application will not be installed if the internal memory of device is full.

Internal memory movable to the SD card: The application will be installed in the internal memory of device but it can be moved by the user into the external memory from the application for managing the applications (accessible from the menu of device parameters). If the internal memory of device is full during the setup, the application will be installed in the external memory.

SD Card movable to the internal memory: The application will be installed in the external memory of device but it can be moved by the user into the internal memory from the application for managing the applications (accessible from the menu of device parameters). If the external memory of device is full or not accessible during the setup, the application will be installed in the internal memory.

Consequences of installing an application in the external memory:

Only the APK file of the application is installed in the external memory. The application data (databases, external files, etc.) are still stored in the internal memory, at the same location as if the application was installed in the internal memory (/data/data/<package name>/<application name&gt).

The APK file installed on the external memory is encrypted with a key allowing it to operate with the device that installed it only. Therefore, an application installed on the SD Card operates for a single device.

Installing an application on the external memory does not impact the performances of the application.

If the user connects his device to the PC in "mass storage" mode (or in "disk drive" mode), the SD Card is automatically dismantled from the device and it is no longer accessible from this one. All the applications installed on the SD Card and currently operating are killed. The applications installed on the SD Card will not operate as long as the SD Card is dismantled.

Advanced configurationThe options of the advanced configuration are as follows:

Customizing the commands

Command of Java compiler

Versions 19 and laterSignature command See the documentation about the Android SDK for more details.

New in version 19Signature command See the documentation about the Android SDK for more details.

Signature command See the documentation about the Android SDK for more details.

Android SDK: Version used to compile the application. The most recent version installed on the computer is used by default.

Versions 19 and laterSHA1 print of the certificate used to sign the application: To modify this print, all you have to do is modify the certificate used.

New in version 19SHA1 print of the certificate used to sign the application: To modify this print, all you have to do is modify the certificate used.

SHA1 print of the certificate used to sign the application: To modify this print, all you have to do is modify the certificate used.

Customizing the manifest. The manifest generated for the Android application can be edited. You have the ability to add, modify, delete nodes or attributes. Caution: Modifying the manifest may trigger compilation errors or failures during the execution on the device.

Versions 19 and laterGeneration options:

Don't include the Android Support library: This option is an advanced option, reserved to very special cases.

Reduce the size of generated code (can be used from Android SDK 4.0): used to optimize the size of the code generated for the Android applications. You must install a version of sdk-tool in version 21 or later.

New in version 19Generation options:

Don't include the Android Support library: This option is an advanced option, reserved to very special cases.

Reduce the size of generated code (can be used from Android SDK 4.0): used to optimize the size of the code generated for the Android applications. You must install a version of sdk-tool in version 21 or later.

Generation options:

Don't include the Android Support library: This option is an advanced option, reserved to very special cases.

Reduce the size of generated code (can be used from Android SDK 4.0): used to optimize the size of the code generated for the Android applications. You must install a version of sdk-tool in version 21 or later.

Versions 21 and laterEnable the multidex generation: This option is used to compile huge projects that reach the limit of 65000 methods.

New in version 21Enable the multidex generation: This option is used to compile huge projects that reach the limit of 65000 methods.

Enable the multidex generation: This option is used to compile huge projects that reach the limit of 65000 methods.

Versions 21 and laterIgnore the HTTPS errors: This option is checked by default and it is available for the applications created with a version earlier than WINDEV Mobile 21 and using the HTTP functions or Webservices. Caution: If you uncheck this option, it will not be redisplayed. To keep the operating mode of application, you will have to use the "HTTTP.IgnoreError = 0" statement in the code. in order to ignore the errors.

New in version 21Ignore the HTTPS errors: This option is checked by default and it is available for the applications created with a version earlier than WINDEV Mobile 21 and using the HTTP functions or Webservices. Caution: If you uncheck this option, it will not be redisplayed. To keep the operating mode of application, you will have to use the "HTTTP.IgnoreError = 0" statement in the code. in order to ignore the errors.

Ignore the HTTPS errors: This option is checked by default and it is available for the applications created with a version earlier than WINDEV Mobile 21 and using the HTTP functions or Webservices. Caution: If you uncheck this option, it will not be redisplayed. To keep the operating mode of application, you will have to use the "HTTTP.IgnoreError = 0" statement in the code. in order to ignore the errors.

Versions 23 and laterDeployment options:

Obfuscate and reduce the size of generated code: This option is used to:

optimize the size of generated code for the Android applications (can be used from Android SDK 4.0). You must install a version of sdk-tool in version 21 or later.

makes the code generated for the Android applications unreadable in order to protect them from decompilation and reverse-engineering operations.

Encrypt the strings: This option is used to encrypt all legible character strings found in the code (useful if identifier or password information is found in the code for example).

New in version 23Deployment options:

Obfuscate and reduce the size of generated code: This option is used to:

optimize the size of generated code for the Android applications (can be used from Android SDK 4.0). You must install a version of sdk-tool in version 21 or later.

makes the code generated for the Android applications unreadable in order to protect them from decompilation and reverse-engineering operations.

Encrypt the strings: This option is used to encrypt all legible character strings found in the code (useful if identifier or password information is found in the code for example).

Deployment options:

Obfuscate and reduce the size of generated code: This option is used to:

optimize the size of generated code for the Android applications (can be used from Android SDK 4.0). You must install a version of sdk-tool in version 21 or later.

makes the code generated for the Android applications unreadable in order to protect them from decompilation and reverse-engineering operations.

Encrypt the strings: This option is used to encrypt all legible character strings found in the code (useful if identifier or password information is found in the code for example).

Related Examples:

Android (WINDEV Mobile): Android Speech Synthesis

[ + ] This educational example explains how to manage the recognition and the speech synthesis Android.The speech synthesis is performed by using either the WLanguage functions, or an external JAR file included in the WINDEV Mobile project.