Create APK

Kalipso - Test and Deploy - Deploy - Create APK

This feature will generate the APK package of your deployed Project. Once the process is finished, copy the APK to an Android device and install it.

Minimum Android version Supported is Android 4.4 "KitKat".

To learn more about the testing and deployment process on Android, access this specific documentation (link to another external page):

When you click on the option in the Deploy menu, the following window appears:

As you can see, this window has five tabs that allow a large number of configurations for the APK package to be deployed. In this way, each of the tabs is presented individually:

Tab - General

‌This tab is the one shown in the image above.‌

The available options are:‌‌

APK Details

  • Domain - Enter the domain of your company (needed for the validation). Just enter the letters (ex: com, org).

  • Company - Enter your company's name (needed for the validation). Must start with a letter.

  • Package Name - Enter the package name. Leave empty to use the Project Name.

  • Package - This option is filled in automatically. It aggregates data from the three previous fields in the format requested by the Google Play Store. This is the application identifier for Google.

  • App Title - Title of the application under Android's menu.

  • Version Number - Option to define the version of the project to be deployed. This is the number used by Google to identify updates. Usually is a sequential number. In addition, the option allows the activation of a checkbox which, when activated, automatically increases the version when the project is deployed.

  • Icon - Zone where you can view the icon associated with the project. You can keep the added or change. Just click on it to open Windows Explorer and choose the new file.

Target Folder

  • Target - Path where the APK file will be saved. You can change the destination.

The path shown in the image serves as an example of real use.

Tab - Signature

The available options are:‌‌

First you can choose if you want to use the company signature or use Kalipso internal signature (only for debug). These two options allow:

  • Use company signature - To officially register an application, you must enter the company's digital signature. Then, when choosing this option, the fields for entering the specific data become active.

  • Use Kalipso signature (debug only) - If you do not want to digitally sign the application yet and you want to test the project, you can choose this option that uses an internal Kalipso signature. Usually used for debugging.

After choosing the option referred above the available options are:‌‌

  • File - Specify the file containing the signature keys.

  • File Password - Specify the password of the signature file.

  • Private Key Name - Specify the private key name.

  • Key Password - Specify the password of the private key name.

Generate signature

‌On the right of the signature tab is a button that allows you to generate a new signature (creating a .pfx file).‌ When you click a new window appears with the following options:

The available options are:‌‌‌

  • Folder - Path to the folder where the file is going to be available. You can change the location.

  • File Name - Name for the signature file.

  • Password - Specify the password of the signature file.

  • Private Key Name - Specify the private key name.

  • Password - Specify the password of the private key name.

This option is only available for the use of the company signature option.

Tab - Options

The available options are:‌‌‌

Target Devices

In this group of options, it is chosen whether the project should be deployed for devices with different screen dimensions. From small screens (for mobile phones, for example) to tablet screens and above. You can select all options or just the ones you want.

Others

  • Shared User ID - When enabled it allows the use of the same user ID for two or more applications. IF 2 applications on a device have the same User ID and are signed with the same certificate, they can access the files from each other.

  • Allow Backup - When enabled it allows the application to participate in the backup and restore infrastructure.

  • Request Large Heap - When enabled it allows the to use large amounts of memory, or example to manage large images.

  • Hardware Accelerated - When enabled it allows the application to use rendering hardware-accelerated.

As you can see below each of these options in the image is a more detailed description of each one, including advice on use.

Tab - Requirements

In this tab, Google is informed what the application needs to work on the terminals. The available list of requirements is shown in the table in the tab.

The available options are:‌‌‌

  • All Active - All requirements are set to active.

  • Auto - Kalipso tries to determine automatically, based on the characteristics of the project, which are the requirements for your project.

  • Manual Selection - The list turns editable to allow choosing which requirement is necessary and chose the state for each one.

Opting for manual selection, then, in front of each requirement you can indicate one of the following three possibilities:

  • Mandatory - Choosing this option means that Google Play filters out devices without the necessary hardware. Note that after the application is loaded in the store, it may not be available if the device does not have any of the mandatory requirements. For example, if it is mandatory to have a camera and the device that is accessing the store does not have it, then the application does not appear available.

  • Optional - Choosing this option means that your application uses the hardware/permission but works without it (default).

  • No - Not necessary.

Tab - Manifest

Every app project must have an AndroidManifest.xml file (with precisely that name) at the root of the project . The manifest file describes essential information about your app to the Android build tools, the Android operating system, and Google Play.

This tab allows the definition of three aspects:

  • Setup Network Security Configuration File - The Network Security Configuration feature lets apps customize their network security settings, like trusted certificate stores, clear text traffic, etc. The most used option for this is to allow your application to use http. New Android versions, by default, do not allow Apps to use http, only https, if you want to use http in your application you need to use this to enable the clearTextTrafficPermitted flag. For more details on what can be configured using this option, you need to check Android documentation at this time available here: https://developer.android.com/training/articles/security-config

  • Non application addons - Use of addons outside the Application tag in your manifest. You can use this option to add additional XML to the generated manifest outside the Application tag.

  • Application addons - Use of addons inside the Application tag in your manifest. You can use this option to add additional XML to the generated manifest inside the Application tag.

Tab - Notifications

Google allows your application to have an icon (image) in the notifications area of the terminal.

Whenever there is a notification that appears at the top of the terminal (Android) then an icon (which can be the logo) can be associated to be displayed there.

This tab prompts you to insert an image file with the following characteristics:

  • .png extension with the image in white

  • Transparent background

These features will allow the OS to adapt the icon to different contexts, such as the dark theme or other situations. Essentially the Android OS of the terminal recolors the icon as needed.

If no icon is entered here then the application icon (from the APK) will be used. However, the results are unpredictable.

Tab - Bundle

As of August 2021 all new Apps submitted to Google Play will be required to be submitted with the Android App Bundle format. This new option will also generate a new file with .aab (android app bundle) file extension that you can use to submit your App to Google Play.

The available options are:‌‌‌

  • Generate Bundle - Switch to trigger deployment option with bundle format for Google Play Store.

  • File - Specify the file containing the signature keys

  • File password - Specify the password of the signature file

  • Private Key Name - Specify the private key name

  • Key Password - Specify the password of the private key name

  • Export Uploaded Key Certificate - Use this button to export the bundle signing certificate. This will be required in Google Play the first time you submit your Bundle. Then Google will use this certificate when you upload a bundle (.aab) to confirm that the bundle was signed by you with the original certificate and not by someone else.

Before using this option you must check if JDK 8 (64 bits) is installed or updated available. JDK can be found in Oracle Website in https://www.oracle.com/pt/java/technologies/downloads/

Generate signature

‌On the right of the signature tab is a button that allows you to generate a new signature (creating a .pfx file).‌ When you click a new window appears with the following options:

The available options are:‌‌‌

  • Folder - Path to the folder where the file is going to be available. You can change the location.

  • File Name - Name for the signature file for the bundle.

  • Password - Specify the password of the signature file.

  • Private Key Name - Specify the private key name.

  • Password - Specify the password of the private key name.

When you generate an AAB file in Kalipso you will also be asked for a signing key for the App Bundle file.

Don’t confuse this key with the APK private key.

This is a different signing key, that will be used for signing the App Bundle. Google will check this key when you submit your App Bundles to Google Play to validate that the file being submitted was really created by you, and not someone else trying to impersonate you.

Then before releasing your App to Google Play, Google will generate the APKs and sign them with the private key mentioned before.

Using the AAB format, you no longer have the option to handle your APK signing, Google will have the App private key, Google will generate APKs from the AAB file you submitted and then Google will sign the APKs with the private key.

Last updated