Attention: Here be dragons (unstable version)
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Redot.
Checking the stable version of the documentation...
EditorExportPlatformAndroid
Inherits: EditorExportPlatform < RefCounted < Object
Exporter for Android.
Tutorials
Properties
Property Descriptions
Array of random bytes that the licensing Policy uses to create an Obfuscator.
If true
, project resources are stored in the separate APK expansion file, instead of the APK.
Note: APK expansion should be enabled to use PCK encryption. See APK Expansion Files
String apk_expansion/public_key 🔗
Base64 encoded RSA public key for your publisher account, available from the profile page on the "Google Play Console".
bool architectures/arm64-v8a 🔗
If true
, arm64
binaries are included into exported project.
bool architectures/armeabi-v7a 🔗
If true
, arm32
binaries are included into exported project.
If true
, x86_32
binaries are included into exported project.
If true
, x86_64
binaries are included into exported project.
String command_line/extra_args 🔗
A list of additional command line arguments, separated by space, which the exported project will receive when started.
String custom_template/debug 🔗
Path to an APK file to use as a custom export template for debug exports. If left empty, default template is used.
Note: This is only used if gradle_build/use_gradle_build is disabled.
String custom_template/release 🔗
Path to an APK file to use as a custom export template for release exports. If left empty, default template is used.
Note: This is only used if gradle_build/use_gradle_build is disabled.
String gradle_build/android_source_template 🔗
Path to a ZIP file holding the source for the export template used in a Gradle build. If left empty, the default template is used.
bool gradle_build/compress_native_libraries 🔗
If true
, native libraries are compressed when performing a Gradle build.
Note: Although your binary may be smaller, your application may load slower because the native libraries are not loaded directly from the binary at runtime.
int gradle_build/export_format 🔗
Application export format (*.apk or *.aab).
String gradle_build/gradle_build_directory 🔗
Path to the Gradle build directory. If left empty, then res://android
will be used.
Minimum Android API level required for the application to run (used during Gradle build). See android:minSdkVersion.
String gradle_build/target_sdk 🔗
The Android API level on which the application is designed to run (used during Gradle build). See android:targetSdkVersion.
bool gradle_build/use_gradle_build 🔗
If true
, Gradle build is used instead of pre-built APK.
If true
, OpenGL ES debug context will be created (additional runtime checking, validation, and logging).
Path of the debug keystore file.
Can be overridden with the environment variable GODOT_ANDROID_KEYSTORE_DEBUG_PATH
.
Fallbacks to EditorSettings.export/android/debug_keystore
if empty.
String keystore/debug_password 🔗
Password for the debug keystore file.
Can be overridden with the environment variable GODOT_ANDROID_KEYSTORE_DEBUG_PASSWORD
.
Fallbacks to EditorSettings.export/android/debug_keystore_pass
if both it and keystore/debug are empty.
User name for the debug keystore file.
Can be overridden with the environment variable GODOT_ANDROID_KEYSTORE_DEBUG_USER
.
Fallbacks to EditorSettings.export/android/debug_keystore_user
if both it and keystore/debug are empty.
Path of the release keystore file.
Can be overridden with the environment variable GODOT_ANDROID_KEYSTORE_RELEASE_PATH
.
String keystore/release_password 🔗
Password for the release keystore file.
Can be overridden with the environment variable GODOT_ANDROID_KEYSTORE_RELEASE_PASSWORD
.
String keystore/release_user 🔗
User name for the release keystore file.
Can be overridden with the environment variable GODOT_ANDROID_KEYSTORE_RELEASE_USER
.
String launcher_icons/adaptive_background_432x432 🔗
Background layer of the application adaptive icon file. See Design adaptive icons.
String launcher_icons/adaptive_foreground_432x432 🔗
Foreground layer of the application adaptive icon file. See Design adaptive icons.
String launcher_icons/adaptive_monochrome_432x432 🔗
Monochrome layer of the application adaptive icon file. See Design adaptive icons.
String launcher_icons/main_192x192 🔗
Application icon file. If left empty, it will fallback to ProjectSettings.application/config/icon.
Application category for the Google Play Store. Only define this if your application fits one of the categories well. See android:appCategory.
bool package/exclude_from_recents 🔗
If true
, task initiated by main activity will be excluded from the list of recently used applications. See android:excludeFromRecents.
Name of the application.
bool package/retain_data_on_uninstall 🔗
If true
, when the user uninstalls an app, a prompt to keep the app's data will be shown. See android:hasFragileUserData.
bool package/show_as_launcher_app 🔗
If true
, the user will be able to set this app as the system launcher in Android preferences.
bool package/show_in_android_tv 🔗
If true
, this app will show in Android TV launcher UI.
bool package/show_in_app_library 🔗
If true
, this app will show in the device's app library.
Note: This is true
by default.
If true
, package signing is enabled.
Unique application identifier in a reverse-DNS format. The reverse DNS format should preferably match a domain name you control, but this is not strictly required. For instance, if you own example.com
, your package unique name should preferably be of the form com.example.mygame
. This identifier can only contain lowercase alphanumeric characters (a-z
, and 0-9
), underscores (_
), and periods (.
). Each component of the reverse DNS format must start with a letter: for instance, com.example.8game
is not valid.
If $genname
is present in the value, it will be replaced by the project name converted to lowercase. If there are invalid characters in the project name, they will be stripped. If all characters in the project name are stripped, $genname
is replaced by noname
.
Note: Changing the package name will cause the package to be considered as a new package, with its own installation and data paths. The new package won't be usable to update existing installations.
Note: When publishing to Google Play, the package name must be globally unique. This means no other apps published on Google Play must be using the same package name as yours. Otherwise, you'll be prevented from publishing your app on Google Play.
bool permissions/access_checkin_properties 🔗
Allows read/write access to the "properties" table in the checkin database. See ACCESS_CHECKIN_PROPERTIES.
bool permissions/access_coarse_location 🔗
Allows access to the approximate location information. See ACCESS_COARSE_LOCATION.
bool permissions/access_fine_location 🔗
Allows access to the precise location information. See ACCESS_FINE_LOCATION.
bool permissions/access_location_extra_commands 🔗
Allows access to the extra location provider commands. See ACCESS_LOCATION_EXTRA_COMMANDS.
bool permissions/access_media_location 🔗
Allows an application to access any geographic locations persisted in the user's shared collection. See ACCESS_MEDIA_LOCATION.
bool permissions/access_mock_location 🔗
Allows an application to create mock location providers for testing.
bool permissions/access_network_state 🔗
Allows access to the information about networks. See ACCESS_NETWORK_STATE.
bool permissions/access_surface_flinger 🔗
Allows an application to use SurfaceFlinger's low level features.
bool permissions/access_wifi_state 🔗
Allows access to the information about Wi-Fi networks. See ACCESS_WIFI_STATE.
bool permissions/account_manager 🔗
Allows applications to call into AccountAuthenticators. See ACCOUNT_MANAGER.
bool permissions/add_voicemail 🔗
Allows an application to add voicemails into the system. See ADD_VOICEMAIL.
bool permissions/authenticate_accounts 🔗
Allows an application to act as an AccountAuthenticator for the AccountManager.
bool permissions/battery_stats 🔗
Allows an application to collect battery statistics. See BATTERY_STATS.
bool permissions/bind_accessibility_service 🔗
Must be required by an AccessibilityService, to ensure that only the system can bind to it. See BIND_ACCESSIBILITY_SERVICE.
bool permissions/bind_appwidget 🔗
Allows an application to tell the AppWidget service which application can access AppWidget's data. See BIND_APPWIDGET.
bool permissions/bind_device_admin 🔗
Must be required by device administration receiver, to ensure that only the system can interact with it. See BIND_DEVICE_ADMIN.
bool permissions/bind_input_method 🔗
Must be required by an InputMethodService, to ensure that only the system can bind to it. See BIND_INPUT_METHOD.
bool permissions/bind_nfc_service 🔗
Must be required by a HostApduService or OffHostApduService to ensure that only the system can bind to it. See BIND_NFC_SERVICE.
bool permissions/bind_notification_listener_service 🔗
Must be required by a NotificationListenerService, to ensure that only the system can bind to it. See BIND_NOTIFICATION_LISTENER_SERVICE.
bool permissions/bind_print_service 🔗
Must be required by a PrintService, to ensure that only the system can bind to it. See BIND_PRINT_SERVICE.
bool permissions/bind_remoteviews 🔗
Must be required by a RemoteViewsService, to ensure that only the system can bind to it. See BIND_REMOTEVIEWS.
bool permissions/bind_text_service 🔗
Must be required by a TextService (e.g. SpellCheckerService) to ensure that only the system can bind to it. See BIND_TEXT_SERVICE.
bool permissions/bind_vpn_service 🔗
Must be required by a VpnService, to ensure that only the system can bind to it. See BIND_VPN_SERVICE.
bool permissions/bind_wallpaper 🔗
Must be required by a WallpaperService, to ensure that only the system can bind to it. See BIND_WALLPAPER.
Allows applications to connect to paired bluetooth devices. See BLUETOOTH.
bool permissions/bluetooth_admin 🔗
Allows applications to discover and pair bluetooth devices. See BLUETOOTH_ADMIN.
bool permissions/bluetooth_privileged 🔗
Allows applications to pair bluetooth devices without user interaction, and to allow or disallow phonebook access or message access. See BLUETOOTH_PRIVILEGED.
Required to be able to disable the device (very dangerous!).
bool permissions/broadcast_package_removed 🔗
Allows an application to broadcast a notification that an application package has been removed. See BROADCAST_PACKAGE_REMOVED.
bool permissions/broadcast_sms 🔗
Allows an application to broadcast an SMS receipt notification. See BROADCAST_SMS.
bool permissions/broadcast_sticky 🔗
Allows an application to broadcast sticky intents. See BROADCAST_STICKY.
bool permissions/broadcast_wap_push 🔗
Allows an application to broadcast a WAP PUSH receipt notification. See BROADCAST_WAP_PUSH.
Allows an application to initiate a phone call without going through the Dialer user interface. See CALL_PHONE.
bool permissions/call_privileged 🔗
Allows an application to call any phone number, including emergency numbers, without going through the Dialer user interface. See CALL_PRIVILEGED.
Required to be able to access the camera device. See CAMERA.
bool permissions/capture_audio_output 🔗
Allows an application to capture audio output. See CAPTURE_AUDIO_OUTPUT.
bool permissions/capture_secure_video_output 🔗
Allows an application to capture secure video output.
bool permissions/capture_video_output 🔗
Allows an application to capture video output.
bool permissions/change_component_enabled_state 🔗
Allows an application to change whether an application component (other than its own) is enabled or not. See CHANGE_COMPONENT_ENABLED_STATE.
bool permissions/change_configuration 🔗
Allows an application to modify the current configuration, such as locale. See CHANGE_CONFIGURATION.
bool permissions/change_network_state 🔗
Allows applications to change network connectivity state. See CHANGE_NETWORK_STATE.
bool permissions/change_wifi_multicast_state 🔗
Allows applications to enter Wi-Fi Multicast mode. See CHANGE_WIFI_MULTICAST_STATE.
bool permissions/change_wifi_state 🔗
Allows applications to change Wi-Fi connectivity state. See CHANGE_WIFI_STATE.
bool permissions/clear_app_cache 🔗
Allows an application to clear the caches of all installed applications on the device. See CLEAR_APP_CACHE.
bool permissions/clear_app_user_data 🔗
Allows an application to clear user data.
bool permissions/control_location_updates 🔗
Allows enabling/disabling location update notifications from the radio. See CONTROL_LOCATION_UPDATES.
PackedStringArray permissions/custom_permissions 🔗
Array of custom permission strings.
Note: The returned array is copied and any changes to it will not update the original property value. See PackedStringArray for more details.
bool permissions/delete_cache_files 🔗
Deprecated: This property may be changed or removed in future versions.
bool permissions/delete_packages 🔗
Allows an application to delete packages. See DELETE_PACKAGES.
bool permissions/device_power 🔗
Allows low-level access to power management.
Allows applications to RW to diagnostic resources. See DIAGNOSTIC.
bool permissions/disable_keyguard 🔗
Allows applications to disable the keyguard if it is not secure. See DISABLE_KEYGUARD.
Allows an application to retrieve state dump information from system services. See DUMP.
bool permissions/expand_status_bar 🔗
Allows an application to expand or collapse the status bar. See EXPAND_STATUS_BAR.
bool permissions/factory_test 🔗
Run as a manufacturer test application, running as the root user. See FACTORY_TEST.
Allows access to the flashlight.
Allows an application to force a BACK operation on whatever is the top activity.
bool permissions/get_accounts 🔗
Allows access to the list of accounts in the Accounts Service. See GET_ACCOUNTS.
bool permissions/get_package_size 🔗
Allows an application to find out the space used by any package. See GET_PACKAGE_SIZE.
Deprecated: Deprecated in API level 21.
bool permissions/get_top_activity_info 🔗
Allows an application to retrieve private information about the current top activity.
bool permissions/global_search 🔗
Used on content providers to allow the global search system to access their data. See GLOBAL_SEARCH.
bool permissions/hardware_test 🔗
Allows access to hardware peripherals.
bool permissions/inject_events 🔗
Allows an application to inject user events (keys, touch, trackball) into the event stream and deliver them to ANY window.
bool permissions/install_location_provider 🔗
Allows an application to install a location provider into the Location Manager. See INSTALL_LOCATION_PROVIDER.
bool permissions/install_packages 🔗
Allows an application to install packages. See INSTALL_PACKAGES.
bool permissions/install_shortcut 🔗
Allows an application to install a shortcut in Launcher. See INSTALL_SHORTCUT.
bool permissions/internal_system_window 🔗
Allows an application to open windows that are for use by parts of the system user interface.
Allows applications to open network sockets. See INTERNET.
bool permissions/kill_background_processes 🔗
Allows an application to call ActivityManager.killBackgroundProcesses(String). See KILL_BACKGROUND_PROCESSES.
bool permissions/location_hardware 🔗
Allows an application to use location features in hardware, such as the geofencing api. See LOCATION_HARDWARE.
bool permissions/manage_accounts 🔗
Allows an application to manage the list of accounts in the AccountManager.
bool permissions/manage_app_tokens 🔗
Allows an application to manage (create, destroy, Z-order) application tokens in the window manager.
bool permissions/manage_documents 🔗
Allows an application to manage access to documents, usually as part of a document picker. See MANAGE_DOCUMENTS.
bool permissions/manage_external_storage 🔗
Allows an application a broad access to external storage in scoped storage. See MANAGE_EXTERNAL_STORAGE.
bool permissions/master_clear 🔗
See MASTER_CLEAR.
bool permissions/media_content_control 🔗
Allows an application to know what content is playing and control its playback. See MEDIA_CONTENT_CONTROL.
bool permissions/modify_audio_settings 🔗
Allows an application to modify global audio settings. See MODIFY_AUDIO_SETTINGS.
bool permissions/modify_phone_state 🔗
Allows modification of the telephony state - power on, mmi, etc. Does not include placing calls. See MODIFY_PHONE_STATE.
bool permissions/mount_format_filesystems 🔗
Allows formatting file systems for removable storage. See MOUNT_FORMAT_FILESYSTEMS.
bool permissions/mount_unmount_filesystems 🔗
Allows mounting and unmounting file systems for removable storage. See MOUNT_UNMOUNT_FILESYSTEMS.
Allows applications to perform I/O operations over NFC. See NFC.
bool permissions/persistent_activity 🔗
Deprecated: Deprecated in API level 15.
Allows an application to make its activities persistent.
bool permissions/post_notifications 🔗
Allows an application to post notifications. Added in API level 33. See Notification runtime permission.
bool permissions/process_outgoing_calls 🔗
Deprecated: Deprecated in API level 29.
Allows an application to see the number being dialed during an outgoing call with the option to redirect the call to a different number or abort the call altogether. See PROCESS_OUTGOING_CALLS.
bool permissions/read_calendar 🔗
Allows an application to read the user's calendar data. See READ_CALENDAR.
bool permissions/read_call_log 🔗
Allows an application to read the user's call log. See READ_CALL_LOG.
bool permissions/read_contacts 🔗
Allows an application to read the user's contacts data. See READ_CONTACTS.
bool permissions/read_external_storage 🔗
Deprecated: Deprecated in API level 33.
Allows an application to read from external storage. See READ_EXTERNAL_STORAGE.
bool permissions/read_frame_buffer 🔗
Allows an application to take screen shots and more generally get access to the frame buffer data.
bool permissions/read_history_bookmarks 🔗
Allows an application to read (but not write) the user's browsing history and bookmarks.
bool permissions/read_input_state 🔗
Deprecated: Deprecated in API level 16.
Allows an application to read the low-level system log files. See READ_LOGS.
bool permissions/read_media_audio 🔗
Allows an application to read audio files from external storage. See READ_MEDIA_AUDIO.
bool permissions/read_media_images 🔗
Allows an application to read image files from external storage. See READ_MEDIA_IMAGES.
bool permissions/read_media_video 🔗
Allows an application to read video files from external storage. See READ_MEDIA_VIDEO.
bool permissions/read_media_visual_user_selected 🔗
Allows an application to read image or video files from external storage that a user has selected via the permission prompt photo picker. See READ_MEDIA_VISUAL_USER_SELECTED.
bool permissions/read_phone_state 🔗
Allows read only access to phone state. See READ_PHONE_STATE.
bool permissions/read_profile 🔗
Allows an application to read the user's personal profile data.
Allows an application to read SMS messages. See READ_SMS.
bool permissions/read_social_stream 🔗
Allows an application to read from the user's social stream.
bool permissions/read_sync_settings 🔗
Allows applications to read the sync settings. See READ_SYNC_SETTINGS.
bool permissions/read_sync_stats 🔗
Allows applications to read the sync stats. See READ_SYNC_STATS.
bool permissions/read_user_dictionary 🔗
Allows an application to read the user dictionary.
Required to be able to reboot the device. See REBOOT.
bool permissions/receive_boot_completed 🔗
Allows an application to receive the Intent.ACTION_BOOT_COMPLETED that is broadcast after the system finishes booting. See RECEIVE_BOOT_COMPLETED.
bool permissions/receive_mms 🔗
Allows an application to monitor incoming MMS messages. See RECEIVE_MMS.
bool permissions/receive_sms 🔗
Allows an application to receive SMS messages. See RECEIVE_SMS.
bool permissions/receive_wap_push 🔗
Allows an application to receive WAP push messages. See RECEIVE_WAP_PUSH.
bool permissions/record_audio 🔗
Allows an application to record audio. See RECORD_AUDIO.
bool permissions/reorder_tasks 🔗
Allows an application to change the Z-order of tasks. See REORDER_TASKS.
bool permissions/restart_packages 🔗
Deprecated: Deprecated in API level 15.
bool permissions/send_respond_via_message 🔗
Allows an application (Phone) to send a request to other applications to handle the respond-via-message action during incoming calls. See SEND_RESPOND_VIA_MESSAGE.
Allows an application to send SMS messages. See SEND_SMS.
bool permissions/set_activity_watcher 🔗
Allows an application to watch and control how activities are started globally in the system.
Allows an application to broadcast an Intent to set an alarm for the user. See SET_ALARM.
bool permissions/set_always_finish 🔗
Allows an application to control whether activities are immediately finished when put in the background. See SET_ALWAYS_FINISH.
bool permissions/set_animation_scale 🔗
Allows to modify the global animation scaling factor. See SET_ANIMATION_SCALE.
bool permissions/set_debug_app 🔗
Configure an application for debugging. See SET_DEBUG_APP.
bool permissions/set_orientation 🔗
Allows low-level access to setting the orientation (actually rotation) of the screen.
bool permissions/set_pointer_speed 🔗
Allows low-level access to setting the pointer speed.
bool permissions/set_preferred_applications 🔗
Deprecated: Deprecated in API level 15.
bool permissions/set_process_limit 🔗
Allows an application to set the maximum number of (not needed) application processes that can be running. See SET_PROCESS_LIMIT.
Allows applications to set the system time directly. See SET_TIME.
bool permissions/set_time_zone 🔗
Allows applications to set the system time zone directly. See SET_TIME_ZONE.
bool permissions/set_wallpaper 🔗
Allows applications to set the wallpaper. See SET_WALLPAPER.
bool permissions/set_wallpaper_hints 🔗
Allows applications to set the wallpaper hints. See SET_WALLPAPER_HINTS.
bool permissions/signal_persistent_processes 🔗
Allow an application to request that a signal be sent to all persistent processes. See SIGNAL_PERSISTENT_PROCESSES.
Allows an application to open, close, or disable the status bar and its icons. See STATUS_BAR.
bool permissions/subscribed_feeds_read 🔗
Allows an application to allow access the subscribed feeds ContentProvider.
bool permissions/subscribed_feeds_write 🔗
Deprecated: This property may be changed or removed in future versions.
bool permissions/system_alert_window 🔗
Allows an app to create windows using the type WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY, shown on top of all other apps. See SYSTEM_ALERT_WINDOW.
bool permissions/transmit_ir 🔗
Allows using the device's IR transmitter, if available. See TRANSMIT_IR.
bool permissions/uninstall_shortcut 🔗
Deprecated: This property may be changed or removed in future versions.
bool permissions/update_device_stats 🔗
Allows an application to update device statistics. See UPDATE_DEVICE_STATS.
bool permissions/use_credentials 🔗
Allows an application to request authtokens from the AccountManager.
Allows an application to use SIP service. See USE_SIP.
Allows access to the vibrator. See VIBRATE.
Allows using PowerManager WakeLocks to keep processor from sleeping or screen from dimming. See WAKE_LOCK.
bool permissions/write_apn_settings 🔗
Allows applications to write the apn settings and read sensitive fields of an existing apn settings like user and password. See WRITE_APN_SETTINGS.
bool permissions/write_calendar 🔗
Allows an application to write the user's calendar data. See WRITE_CALENDAR.
bool permissions/write_call_log 🔗
Allows an application to write (but not read) the user's call log data. See WRITE_CALL_LOG.
bool permissions/write_contacts 🔗
Allows an application to write the user's contacts data. See WRITE_CONTACTS.
bool permissions/write_external_storage 🔗
Allows an application to write to external storage. See WRITE_EXTERNAL_STORAGE.
bool permissions/write_gservices 🔗
Allows an application to modify the Google service map. See WRITE_GSERVICES.
bool permissions/write_history_bookmarks 🔗
Allows an application to write (but not read) the user's browsing history and bookmarks.
bool permissions/write_profile 🔗
Allows an application to write (but not read) the user's personal profile data.
bool permissions/write_secure_settings 🔗
Allows an application to read or write the secure system settings. See WRITE_SECURE_SETTINGS.
bool permissions/write_settings 🔗
Allows an application to read or write the system settings. See WRITE_SETTINGS.
Allows an application to write SMS messages.
bool permissions/write_social_stream 🔗
Allows an application to write (but not read) the user's social stream data.
bool permissions/write_sync_settings 🔗
Allows applications to write the sync settings. See WRITE_SYNC_SETTINGS.
bool permissions/write_user_dictionary 🔗
Allows an application to write to the user dictionary.
If true
, hides navigation and status bar. See DisplayServer.window_set_mode to toggle it at runtime.
Indicates whether the application supports larger screen form-factors.
Indicates whether an application supports the "normal" screen form-factors.
Indicates whether the application supports smaller screen form-factors.
Indicates whether the application supports extra large screen form-factors.
If true
, allows the application to participate in the backup and restore infrastructure.
Machine-readable application version. This must be incremented for every new release pushed to the Play Store.
Application version visible to the user. Falls back to ProjectSettings.application/config/version if left empty.
The extended reality (XR) mode for this application.