This topic describes how to export a Godot project as an Android app. Godot can generate both APK files for local device testing and Android App Bundles for submission to the Google Play Store.

## Install an Android build template

Godot uses a build template as a starting point to generate Gradle files and other data necessary to create and build an Android app. A build template must be imported into a Godot project prior to exporting an Android build. Each version of Godot has its own template. To install an Android build template into a project, perform the following steps:

1. Open the project in the Godot editor.
2. In the menu bar, select**Project -\> Install Android Build Template...**
3. Click the**Manage Templates...**button.
4. In the**Export Template Manager** window, click the**Download**button for the Godot version being used (Current Version).
5. Select a mirror location to download the file.
6. After the download completes, click the**Close** button in the**Export Template Manager**window.
7. From the editor menubar, select**Project -\> Install Android Build Template...**
8. A confirmation dialog will appear. Click the**Install**button.

![Godot Export Template Manager](https://developer.android.com/static/images/games/engines/godot/Export_TemplateManager.png)**Figure 1.** The**Export Template Manager**window

The build template files will be stored in an`android/build`subdirectory that is relative to the project root directory. Due to the size of this subdirectory, you may wish to omit it from the version control scope of your project.

## Add an Android export preset

An export preset for Android must be created for the project. To create a preset, perform the following steps:

1. From the editor menu bar, select**Project -\> Export...**
2. From the**Export** window, select the**Add...** dropdown menu, and then select the**Android**option as follows:

![Godot Export window](https://developer.android.com/static/images/games/engines/godot/Export_AddAndroid.png)**Figure 2:** The**Export**window

## Customize Android export options

After creating an Android export preset for your project, you can configure export options by selecting the new preset in the**Export** window. Export options are grouped into categories to the right of the**Export**window. Common options to adjust include:

### Export Format and Use Custom Build

The**Export Format** option indicates whether to export as an APK file or an Android App Bundle (.AAB). For testing on a local device during development, an APK file is more convenient, as it can be directly installed using`adb`. For builds that you intend to upload to Google Play, use an Android App Bundle.

The**Use Custom Build** option controls whether Godot uses its own internal build process, or a traditional Gradle build process. If**Use Custom Build** is checked, Godot will perform a Gradle build.**Use Custom Build**must be checked if any of the follow conditions apply:

- The**Export Format**is set to Android App Bundle
- The project is using the Godot Android plugin system

![Export Format and Use Custom Build options](https://developer.android.com/static/images/games/engines/godot/Export_Format_CustomBuild.png)**Figure 3:** The**Export Format** and**Custom Build**options

### Architectures

The**Architectures**section specifies the CPU architectures to include in the build. Exporting a build with multiple architectures will increase the size of the exported APK or AAB file, which increases the iteration time when exporting and deploying to a device. During development you can reduce the iteration time by only selecting the architecture of the test device. When submitting to Google Play, you should export with all available architectures supported by your project.
| **Note:** Google Play requires 64-bit architectures in submitted App Bundles. If you select the**Armeabi-v7a** architecture you must also select**Arm64-v8a** . Correspondingly, if you select**X86** , you must also select**X86 64**.
![Export Architectures options](https://developer.android.com/static/images/games/engines/godot/Export_Architectures.png)**Figure 4:** The export**Architectures**options

### Keystore

The**Keystore** section is where debug and release keystore files are configured. These are used when digitally signing the exported app. The**Debug** and**Release** fields should be paths to the respective keystore files. The**Debug User** and**Release User**fields should be set to the alias names in the keystore.
![Export Keystore options](https://developer.android.com/static/images/games/engines/godot/Export_Keystore.png)**Figure 5:** The export**Keystore**options

If a debug keystore file has been configured in the global**Editor Settings -\> Export -\> Android** section, the**Debug**keystore fields in the project Export options may be left blank, and the global debug keystore file will be used as default.

To create a build for upload to the Google Play Store, you can use Android Studio to create a release keystore file.

To create a release keystore file for your app:

1. Launch Android Studio.
2. In the**Welcome to Android Studio** window, select**Create New Project**.
3. Select the**No Activity** template, and click**Next**.
4. In the**Configure Your Project** screen, click**Finish**to create the project.
5. Create a keystore file using the instructions at[Generate an upload key and keystore](https://developer.android.com/studio/publish/app-signing#generate-key).
6. After creating the keystore file, quit Android Studio and return to the Godot editor.
7. Add the keystore file to the**Release** field and enter the**Release User** and**Release Password**values into their respective fields.

| **Note:** The`export_presets.cfg`file in your project directory contains your keystore credentials. To keep your credentials secure, do not distribute this file or commit it to a public version control repository.

### Version and Package

The**Version** and**Package** sections specify the version code, version string, package identifier, and package name for your app. The**Unique Name**field should be set to the package identifier used by your app in Google Play Console.
![Export Version and Package options](https://developer.android.com/static/images/games/engines/godot/Export_Package.png)**Figure 6:** The export**Version** and**Package**options

### Launcher icons

The launcher icons section specifies the .png files to use as icons for your app. If icons files are not specified, Godot will use a default icon file. Godot supports specifying both legacy application icons, and the adaptive icons available in Android 8 and later. For tips on creating adaptive icons, see the[adaptive icons](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)guide.
![Export Launcher Icons options](https://developer.android.com/static/images/games/engines/godot/Export_Package.png)**Figure 7:** The export**Launcher Icons**options

## Export a build

To export a build, follow these steps:

1. Select**Project -\> Export...**from the Godot menu bar.
2. Select an Android export preset from the preset list.
3. Click the**Export Project** button at the bottom of the**Export**window.
4. In the**Save a File**dialog box, choose a name for the exported file.
5. Uncheck the**Export With Debug**checkbox to create a Release build.
6. Click**Save**to export the build.

![Export Save a File dialog](https://developer.android.com/static/images/games/engines/godot/Export_SaveFile.png)**Figure 7:** The export**Save a File**dialog

The export progress window will look different if the**Use Custom Build**option is checked in the export preset. Custom builds display the output of the Gradle build process.