gmabuildtool

The gmabuildtool is a utility to create and test applications for an Android devices.

Syntax

gmabuildtool { build | test | updatesdk } [options]
  1. build is the command to build an APK package.
  2. test is the command to deploy and launch an app.
  3. updatesdk is the command to update the Android SDK to download packages required by GMA.
  4. options are described in Table 1.

Options

Table 1. gmabuildtool options
Option Short option Description
--android-sdk path -as

The path to the Android SDK installation directory.

If not specified, defaults to the ANDROID_HOME environment variable.

--build-app-colors color-list -bc

Define the Android color theme for the app (Android 5.0+ / SDK 21+)

The value must be a comma-separated list of four hexadecimal RGB colors.

The position of the color defines its purpose:
  1. Primary color: This is the main color used in the app.
  2. Primary dark color: This is the color used for the status bar and the navigation bar.
  3. Accent color: This is the color used for widgets and table lines.
  4. Action bar text color: This is the foreground color for the texts in the action bar.
By default, the color theme is the Genero purple color.
--build-app-genero-program-main path -bgpm

Relative path to the main module of the application (can be .xcf, .42m or .42r).

Defaults to main.42m

--build-app-genero-program path -bgp

Defines the path to the application program files (.42m, .42f, etc)

The contents of this directory will be zipped and bundled inside APKs. This option can handle an already zipped Genero program archive.

If not specified, defaults to the current working directory.

--build-app-icon-hdpi path -bih

Defines the path to application icon in hdpi.

Default is ./gma/ic_app_hdpi.png, in the current working directory.

--build-app-icon-mdpi path -bim

Defines the path to application icon in mdpi.

Default is ./gma/ic_app_mdpi.png, in the current working directory.

--build-app-icon-xhdpi path -bixh

Defines the path to application icon in xhdpi.

Default is ./gma/ic_app_xhdpi.png, in the current working directory.

--build-app-icon-xxhdpi path -bixxh

Defines the path to application icon in xxhdpi.

Default is ./gma/ic_app_xxhdpi.png, in the current working directory.

--build-app-name app-name -bn

Application name.

If not specified, the application name defaults to the current working directory.

--build-app-package-name name -bpn

APK package name.

The package name should be formatted as "com.organization-name.app-name".

If not specified, the application package name defaults to com.example.current-working-directory

--build-app-permissions permissions -ba

Android application permissions.

The list of permissions is provided as a comma separated list of android.permission.* identifiers.

For more details, see Android permissions.

--build-app-version-code version-code -bvc

Application version code.

For example: 100915

The value of this option must be an integer (do not use decimal numbers).

--build-app-version-name version-name -bvn

Application version name.

For example: 10.09.15

This will be the actual app version visible on devices.

--build-apk-outputs path -bo

Defines the destination folder where the APK packages must be created.

--build-distribution path -bd

Distribution folder path.

Used to have a location to store the extracted scaffold folder, and be able to build GMA APKs if the project folder is an extension project.

Default is ./gma/temp, in the current working directory.

--build-jarsigner-alias alias -bja

Jarsigner alias.

This is the alias provided to the keystore utility to build the keystore file to sign the app.

Used when APK artifacts are signed.

--build-jarsigner-keypass keypass -bjk

Jarsigner keypass.

Specifies the password used to protect the private key of the keystore entry addressed by the alias specified in the --build-jarsigner-alias option. The password is required when using jarsigner to sign a JAR file.

Used when APK artifacts are signed.

--build-jarsigner-keystore path -bjks

Jarsigner keystore path.

This is the path to the keystore file generated by the keystore utility to sign the app.

Used when APK artifacts are signed.

--build-jarsigner-storepass storepass -bjs

Jarsigner storepass.

Specifies the password that is required to access the keystore.

Used when APK artifacts are signed.

--build-mode {release|debug} -bm

Package build mode, to build a release version or a development/debug version.

Default: release

--build-output-apk-name name -ban

Defines the prefix for the APK packages names.

By default, this prefix is "app".

The file name of the APK package is formed from:
  1. the APK file name prefix defined by the --build-output-apk-name option (by default, "app"),
  2. the target type (-arm or -x86),
  3. if building a debug version, the -debug suffix,
  4. the .apk file extension.
For example, if the APK file name prefix is MyApp and the target architecture is arm in debug mode, the resulting APK file name will be: MyApp-arm-debug.apk.
--build-project path -bp

Defines the path to the directory containing the original (unzipped) GMA binary archive files, or the directory containing the Android Studio project, when building a customized GMA.

Note: When using the original GMA binary archive, the zip file must be uncompressed before executing the build.

Default is ./gma/project, in the current working directory.

--build-types {x86|arm|x86,arm} -bt

Target platform type.

This option accepts a list of platform types separated by a comma (x86,arm)

If not specified, both x86 and arm APKs will be generated.

--clean -c

Clean the scaffold build directory before a rebuild.

This option can be used with the build command, to cleanup the scaffold directories containing the application files, before a new build.

To be used in case if the previous build was interrupted or has failed.

--input-options path -i

Path to the file containing gmabuildtool options.

Define all options in a file and pass the file to the gmabuildtool command with the --input-options argument.

The options file must use the following format:
option-name option-value
...
--java-home path -jh

Java home path.

Default is JAVA_HOME.

--no-install-extras -uN

Avoid installation of extra SDK modules when using the updatesdk command.

--proxy-host host -ph

Defines the proxy host for the updatesdk command.

--proxy-host port -pp

Defines the proxy port for the updatesdk command.

--test-apk path -ta

Path to the APK file to deploy and launch with the test command.

--help -h

Display the list of options.

--verbose-fine -v

Verbose mode (level 1)

--verbose-finer -vv

Verbose mode (level 2)

--verbose-finest -vvv

Verbose mode (level 3) - shows all possible logs.

--version -V

Display GMA build tool version.