Genero Mobile for Android (GMA) 1.30 changes
Modifications to consider when using the Genero Mobile for Androidâ„¢.
GMA 1.30 with FGLGWS 3.10
Desupport of GMA front-end application on Google Play
The GMA front-end app is no longer available for download on Google Play.
In order to install the GMA front-end on your device, use the gmabuiltool as described in Genero mobile development client for Android.
ANDROID_SDK_ROOT replaces ANDROID_HOME
When building apps with gmabuildtool, the ANDROID_HOME environment variable is deprecated.
To define the Android SDK installation directory, use ANDROID_SDK_ROOT instead.
If the --android-sdk
option
is not specified, the gmabuildtool will first use ANDROID_SDK_ROOT, then
ANDROID_HOME as fallback.
Consider changing your environment settings to follow Android SDK specifications.
Default directory for localized strings in GMA apps
The .42s localized string files for the default language can be provided in the appdir/defaults directory.
Resource files such as .42s provided in pwd are always loaded by the runtime system. As GMA, pwd and appdir are the same, it was not possible to provide default strings files in appdir. It was required to provide localized string files for any language, in the corresponding appdir/locale-code directories.
For more details, see Localized string files on mobile devices and Deploying mobile apps.
New --no-install-extras option
By default, when updating the Android SDK with gmabuildtool updatesdk, the process installs also extra SDK modules.
The --no-install-extras
option of gmabuildtool updatesdk can
be used to skip installation of extra SDK modules when not needed.
Unique package for all architectures
The GMA bundle is now provided as a single package, supporting both ARM and x86 device architectures.
The --build-types
option of gmabuildtool build is no longer
available.
Unique scaffolding archive
- fjs-gma-*-android-scaffolding.zip
- fjs-gma-*-android-extension-project.zip
Starting with GMA 1.30, the scaffolding and extension project have been merged in a single fjs-gma-*-android-scaffolding.zip archive.
For more details, see Executing Java code with GMA.
New scaffold
command
The gmabuildtool scaffold command has been added to manage scaffold archives.
In its initial version, the scaffold command provides the --list-plugins
option,
to show available plugins, and the --install-plugins
option, to install plugins in
the scaffold archice (for Cordova support).
No more gma/temp directory
The Genero Mobile Android project directory does not longer need the gma/temp directory to build an app.
Since GMA 1.30, the --build-distribution
option of
gmabuildtool is no longer available.
gmabuildtool options use --build-app-genero-program
as base directory by
default
Starting with GMA 1.30, the gmabuildtool options listed below use the
application program files directory (--build-app-genero-program
option) as base
directory for their default values.
--build-app-genero-program
option is still the
current working directory. -bp / --build-project
-bih / --build-app-icon-hdpi
-bim / --build-app-icon-mdpi
-bixh / --build-app-icon-xhdpi
-bixxh / --build-app-icon-xxhdpi
-bsh / --build-status-icon-hdpi
-bsm / --build-status-icon-mdpi
-bsxh / --build-status-icon-xhdpi
GMA scaffolding archive usage (--build-force-scaffold-update option)
During the manual installation procedure (to build GMA apps from the command line without GST),
it was required to unzip the scaffolding zip archive in a dedicated directory
(gma-scaffold-project), which could be referenced with the
--build-project
option of the gmabuildtool build command.
Starting with GMA 1.30, if not yet done, the APK build process will automatically unzip the
original GMA scaffold archive (gma-install-dir/artifacts)
into the --build-project
directory. If needed, you can force a cleanup and update
these scaffold files with the --build-force-scaffold-update
option.
New --build-quietly option
The --build-quietly
option of gmabuildtool build allows to
build the APK silently, by answered yes to all questions asked during the build process.
The IMAGE style attribute alignment
is supported
GMA 1.30 now supports the alignment
style attribute for IMAGE
form items.
For the possible values of this attribute, see Image style attributes.
Dangerous permissions no longer set by default
Starting with GMA 1.30, the Android
Dangerous Permissions such as android.permission.WRITE_EXTERNAL_STORAGE
are no
longer set by default when building an APK. Such permissions must be specified explicitly with the
--build-app-permissions
option of gmabuildtool, depending on the
frontcalls used by the app.
For more details, see Android permissions.
Push Notification: Firebase Cloud Messaging replaces Google Cloud Messaging
Starting with GMA 1.30.18, the Firebase Cloud Messaging framework replaces Google Cloud Messaging to implement push notifications.
- A new Firebase Cloud Messaging project must be created from the FCM console.
- The package name of the FCM app must match the package name used to build your APK (with the
--build-app-package-name
option ofgmabuildtool
) - You must download the google-services.json configuration file an put it in the appdir.
- The sender-id parameter of the
registerForRemoteNotifications
,getRemoteNotifications
andunregisterFromRemoteNotifications
frontcalls is no longer needed (all informations are in the google-services.json parameter file). - In the server application sending push notifications, replace the Google API key by the Server Key found in the Firebase Cloud Message project parameters.
- Update your FCM server endpoint to send push requests: Replace the
https://gcm-http.googleapis.com/gcm/send
URL byhttps://fcm.googleapis.com/fcm/send
.
For more details, see Push notifications.
Setting debug ports with adb
The debug ports 6400 and 6480 need to be forwarded with the adb command, the telnet/redir solution is no longer supported.
For more details, see Debugging on a mobile device.