Commit Graph

58 Commits

Author SHA1 Message Date
42733a2a5c Implement sparse bundle PCK support. 2025-06-26 00:47:25 +02:00
dcab8a721e Revert "Add support for exporting to Google Play Instant"
This reverts commit 12ad9ed4e0.

Shortly after the feature was merged, we received news that Google will shut down Instant Apps in December 2025. Since this feature is being discontinued soon, there’s no value in keeping it for just a few months.
2025-06-14 15:51:08 +05:30
12ad9ed4e0 Add support for exporting to Google Play Instant 2025-05-23 22:00:14 +05:45
c6739f64df [Export] Use project settings overrides with the target preset features instead of current platform features. 2025-04-08 21:22:37 +03:00
e9d827b440 Merge pull request #103173 from m4gr3d/fix_prebuilt_manifest_config
Updates and fixes to the Android prebuilt export logic
2025-03-28 14:31:57 +01:00
f3b6a4009d [Export] Convert uid:// names to res:// when exporting files. 2025-03-19 16:58:52 +02:00
845c925b67 Add support for export plugins to modify the Android prebuilt manifest 2025-03-14 16:05:09 -07:00
e34f1f504c Use std::size instead of sizeof(a) / sizeof(a[0]) pattern throughout the codebase. 2025-02-07 14:57:48 +01:00
17279cdf45 Use implicit launch when running a Godot Android project from the editor
This allows developers to override the default launching activity (`com.godot.game.GodotApp`) with a custom one if desired.
Logic is added to fallback to the default launching activity if the implicit launch fails.
2025-01-13 08:52:17 -08:00
96c6dec9a7 Android Code Cleanup: Rename constants to uppercase 2024-12-23 14:14:41 +05:30
728927425f Fix Android boot splash and gradle build issue 2024-11-18 21:12:22 +05:30
45593d45b3 Allow setting custom initialization vector for FileAccessEncrypted. Add export setting to set static seed for PCK encryption initialization vectors. 2024-11-13 08:16:12 +02:00
b2cb858572 Android: Add app_category "Undefined" 2024-11-08 23:37:27 +05:30
a37ad265dc Android: Allow using alternative Gradle build directory 2024-02-16 15:20:47 -06:00
63d47dced0 Add export setting to control whether to show the Godot app in the app library 2023-08-13 09:54:10 -04:00
b52e1be2c2 Clean up the XR features parameters from core
Following on the previous commit, the XR features logic have now be moved to the Godot OpenXR loader plugin.

See https://github.com/GodotVR/godot_openxr_loaders/pull/38
2023-07-18 19:14:53 +02:00
d17811c814 Re-architect how Android plugins are packaged and handled at export time
The previous packaging format for Godot Android plugins consisted of the plugin's `gdap` config file accompanied by binaries defined in the `gdap` file.
This format is now deprecated (starting with Godot 4.2), and instead Godot Android plugins are now packaged as `EditorExportPlugin` plugins.

The `EditorExportPlugin` class has been updated with the following methods to provide the necessary set of functionality:
- `_supports_platform`: returns true if the plugin supports the given platform
- `_get_android_dependencies`: retrieve the set of android dependencies (e.g: `org.godot.example:my-plugin:0.0.0`) provided by the plugin
- `_get_android_dependencies_maven_repos`: retrieve the urls of the maven repos for the provided android dependencies
- `_get_android_libraries`: retrieve the local paths of the android libraries (AAR files) provided by the plugin
- `_get_android_manifest_activity_element_contents`: update the contents of the `<activity>` element in the generated Android manifest
- `_get_android_manifest_application_element_contents`: update the contents of the `<application>` element in the generated Android manifest
- `_get_android_manifest_element_contents`: update the contents of the `<manifest>` element in the generated Android manifest
2023-07-18 19:14:53 +02:00
e01a2693d5 Add options to show icon in Android TV and run app as Android launcher 2023-06-12 22:02:48 -05:00
f67d7fa137 Make vulkan level 1 an optional requirement 2023-03-19 08:54:12 -07:00
306a2ad386 Add feature check to require min Vulkan api version 1.0 on Android 2023-02-28 11:20:34 -08:00
2735ff7b68 Add HTC Vive focus XR manifest metadata 2023-02-06 17:20:45 -08:00
09b2c5fd05 Merge pull request #72552 from m4gr3d/cleanup_custom_build_main
Rename Godot's 'custom build' to 'gradle build' to better reflect the underlying build process
2023-02-06 22:50:22 +01:00
21e18c1c41 Improve logic to detect whether vulkan is used for rendering 2023-02-06 10:13:02 -08:00
034fd15b8a Improve vulkan capability detection on Android
- Add runtime check and abort when the device doesn't meet the requirements for vulkan support
- Add filters to the AndroidManifest when exporting with a vulkan renderer
2023-02-05 18:47:38 -08:00
ca593f2f89 Rename Godot's 'custom build' to 'gradle build' to better reflect the underlying build process. 2023-02-02 07:17:31 -08:00
a715a00d76 Clean up the XR export logic
Remove the XR export logic from the legacy build system:
- On Android, Godot 4 export requires the use of Android plugins which are not supported by the legacy build system
- Provides added flexibility for configuring the Android manifest for XR specific capabilities.
2023-02-01 14:42:40 -08:00
179646e593 Update the XR manifest configs
Remove the ones provided automatically by the loaders, and the ones enabled by the default on the platform.
Fixes https://github.com/GodotVR/godot_openxr_loaders/issues/19
2023-01-27 17:59:28 -08:00
d95794ec8a One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
6dc9629b45 Merge pull request #63483 from qianjunakasumi/qianjunakasumi/master
Introduce `appCategory` attribute of android to set category
2023-01-03 12:38:54 +01:00
467b5f23a0 Introduce appCategory attribute of android to set category 2023-01-01 10:19:22 +08:00
e48c5daddf Unify usage of GLOBAL/EDITOR_GET 2022-10-18 19:01:48 +02:00
4a1c7de57c Split rendering driver project setting into renderer_name and rendering_driver. To differentiate between a driver (e.g. Vulkan or D3D12) and a renderer (e.g. clustered or mobile renderer). 2022-09-19 10:26:10 -07:00
f9c19298ce Add full support for Android scoped storage.
This was done by refactoring directory and file access handling for the Android platform so that any general filesystem access type go through the Android layer.
This allows us to validate whether the access is unrestricted, or whether it falls under scoped storage and thus act appropriately.
2022-07-05 03:00:37 -07:00
d38ffda2c3 Fix the logic to restart the Godot application 2022-05-23 13:15:48 -07:00
c63ca6c72b Update Meta hand tracking version
https://developer.oculus.com/blog/presence-platforms-hand-tracking-api-gets-an-upgrade/
2022-04-27 20:56:24 -07:00
9381acb6a4 Make FileAccess and DirAccess classes reference counted. 2022-04-11 13:28:51 +03:00
f851c4aa33 Fix some issues found by cppcheck. 2022-04-06 14:34:37 +03:00
f1a7caf9bb Remove duplicate resizable settings 2022-04-04 09:18:07 -07:00
3f299e9255 Update resize settings:
- Unlock resizing for the Godot Editor
- Add an option to specify whether a game is resizeable for the Godot template
2022-04-04 01:02:10 -07:00
015fdfc28d Merge pull request #58986 from akien-mga/diraccessref 2022-03-11 12:51:22 +01:00
768f9422bc Convert uses of DirAccess * to DirAccessRef to prevent memleaks
`DirAccess *` needs to be deleted manually, and this is often forgotten
especially when doing early returns with `ERR_FAIL_COND`.
`DirAccessRef` is deleted automatically when it goes out of scope.

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2022-03-11 09:13:11 +01:00
12cb6386f6 Improve app name and system permission message localization.
Add localizable string (Dictionary<Lang Code, String>) property editor and property hint.
Add localized "app name" property to the project settings.
Add localized permission and copyright properties to the macOS and iOS export settings.
Remove some duplicated ("app name") and deprecated ("info") macOS and iOS export properties.
2022-03-04 18:11:31 +02:00
b396fd4eef Improve compilation speed (forward declarations/includes cleanup) 2022-02-12 02:46:22 +01:00
b284dd92d3 Fix XR Android manifest metadata
- Adds the parameters for supported Meta devices, which is required to access some device specific capabilities
- Remove the 'com.samsung.android.vr.application.mode' metadata
2022-01-26 09:05:47 -08:00
fe52458154 Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
bdf8340e59 Merge pull request #43181 from nathanfranke/string-empty
Replace String comparisons with "", String() to is_empty()
2021-12-10 08:56:31 +01:00
89b8de71c0 Merge pull request #55767 from m4gr3d/config_hand_tracking_frequency_master 2021-12-09 23:04:41 +01:00
862c0d06fb Add support for configuring the xr hand tracking frequency mode 2021-12-09 12:25:48 -08:00
cfa81ff32a Enable configuration of the android:excludeFromRecents activity attribute. 2021-12-09 08:50:47 -08:00
49403cbfa0 Replace String comparisons with "", String() to is_empty()
Also:
- Adds two stress tests to test_string.h
- Changes to .empty() on std::strings
2021-12-09 04:48:38 -06:00