This article details the requirements for developing Android applications with GeneXus and also the requirements of the target devices.
We provide a setup that automatically downloads and installs all Android SDK requirements. Note that you'll also be able to access this setup through the Update Android SDK tool menu option from Genexus IDE.
We discourage installing the Android SDK components manually, but it some cases it may be necessary. So we provide you with the information you'll need to do it.
- Oracle JDK — Version 8 (Use the 64-bit version if you are on a 64-bit operating system).
- Android SDK — Only the command line tools are needed.
Note: It is strongly recommended to install the Android SDK (in any directory) with no blank spaces or any special characters
Note: The tool known as "Android SDK Manager" program has been deprecated by Google and is no longer available
You'll have two options using the command line tool "sdkmanager" provided by the Android SDK or downloading Android Studio and using the "SDK Manager" built-in. In either case, you'll have to install the following components. Each component per upgrade can be found in <genexus_directory>/Android/RequirementsTool/android_requirements.txt.
|GeneXus 17 or higher users.
|Android SDK Tools
||26.1.1 or higher
||Refer to Update Android SDK tool option.
|Android SDK Platform-Tools
||29.0.5 or higher
|Android SDK Build-tools
|Android 10.0 (API 29)
|- SDK Platform
|- Google APIs Intel x86 Atom System Image
||If you have an Intel-based computer, use the Intel x86 System Image. Otherwise, use the ARM EABI v7a System Image.
If there are any AVD already created with the previous requirement (Intel x86 Atom System Image), it will not be re-created. You may consider to delete it from the AVD Manager and re-run the app from GeneXus to create a new one.
|Android Support Repository
||45 or higher
||44 or higher
|Intel x86 Emulator Accelerator (HAXM installer)
||If HAXM cannot be installed, it is necessary to install Android 4.4 (API 19), including SDK Platform and ARM EABI v7a System Image. Check "Android API levels considerations" section.
This step is only necessary if your computer has an Intel-based CPU.
Once you have finished downloading the requirements, you must install HAXM. Then, open the <Android_SDK_Installation_Directory>/Extras/Intel/Hardware_Acelerated_Execution_Manager directory, execute the intelhaxm-android.exe installer, and follow its instructions.
With this configuration, you can run Android applications on your device (if it is plugged into your computer).
Recommendation: HAXM only works in Intel processors if the Hyper-V feature of Windows platform is turned off and VT-x is enabled in your BIOS.
- In order to check if Hyper-V is disabled, open Control Panel > Programs > Turn Windows features on or off, and then, in the pop-up windows, make sure that Hyper-V is not checked.
- Detailed information about how to enable VT-x from the BIOS can be found on this post
The generated Android application works in devices with API 21 (Android 5.0, Lollipop) or higher
- The GeneXus setup program searches for the Android SDK version in the Windows registry key "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Android SDK Tools" for 64 bits Windows and in "HKEY_LOCAL_MACHINE\SOFTWARE\Android SDK Tools" for 32 bits Windows.
- Once the SDK Directory is found it searches the file "<Android_SDK_Installation_Directory>\tools\source.properties" to check that the property "Pkg.Revision=" is 23.0.2
- If you are using an Intel processor and the HAXM installer produces the following error:
You must check that VT-x (Virtualization) is enabled in your BIOS and that you haven't installed HyperV.
- If you are using Parallels to run Genexus in a Windows VM, do NOT place the Android SDK you use on your host machine or in your model directory. The Android Gradle Plugin does not support this, and it may lead to strange behavior while compiling (for example, your computer could stop working).
As stated above, Android SDK requires at least 3GB of free space on your disk.
2 GB of RAM are required by default for compilation approx; this value can be changed in the Android specific properties.