1
0
Fork 0
Commit Graph

2020 Commits

Author SHA1 Message Date
Fredia Huya-Kouadio bbf22a39c1 Assign the `primaryHost` prior to initializing the registered Android plugins.
Address a regression introduced in https://github.com/godotengine/godot/pull/102866.
The proper behavior for Android plugins is to use `getContext` instead of `getActivity`, but since not all plugins follow this pattern, this fix provides backward compat to avoid breaking the plugins that don't.
2025-07-03 09:43:24 -07:00
Anish Mishra 4f695e1713 Android: Don't exclude display cutout in immersive mode 2025-07-03 08:07:08 +05:30
Anish Mishra 1338e29bf5 Android: Fix `DisplayServer.get_display_safe_area()` issues 2025-06-29 13:11:03 +05:30
Thaddeus Crews 72ab203c79
Merge pull request #108019 from limbonaut/fix-jni-generic-array-conversion
Add missing JNI variant conversion for generic Array
2025-06-27 09:39:56 -05:00
Anish Mishra c82f7feb53 Document that `native file dialog` is only available on Android 10+ devices. 2025-06-27 17:07:50 +05:30
Serhii Snitsaruk 1bea370df7
Add JNI variant conversion for generic Array 2025-06-26 19:16:52 +02:00
Pāvels Nadtočajevs 42733a2a5c
Implement sparse bundle PCK support. 2025-06-26 00:47:25 +02:00
Rémi Verschelde 260190c057
Merge pull request #107742 from m4gr3d/address_api_35_ui_issues
Android: Address API 35 UI behavior changes
2025-06-22 11:59:12 +02:00
Fredia Huya-Kouadio 2f4c3d411c Address API 35 UI behavior changes
- Fix issue on foldable where the embedded window would obscure the main window when launching
- Fix edge-to-edge support for non-immersive apps / games
- Add edge-to-edge export option to allow non-immersive apps / games to extend edge to edge
2025-06-20 13:29:38 -07:00
Thaddeus Crews f7c6f0057c
Merge pull request #103972 from m4gr3d/xr_editor_hybrid_support
Add support for running hybrid apps from the XR editor
2025-06-20 08:38:55 -05:00
Fredia Huya-Kouadio 09f5be761c Add support for running hybrid apps from the XR editor 2025-06-15 07:05:12 -07:00
Anish Mishra 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
Fredia Huya-Kouadio dc589e239c Add support for using an Android Service to host the Godot engine
- Provide a `GodotService` Android service implementation which can be used to host an instance of the Godot engine
- Provide a `RemoteGodotFragment` Android fragment implementation which provides the view and logic to wrap connection to a `GodotService` instance
2025-06-12 16:37:38 -07:00
Rémi Verschelde ae33da972b
Merge pull request #106709 from m4gr3d/fix_transparency_flags
Fix transparency background issue on Android
2025-06-12 23:32:44 +02:00
Rémi Verschelde 4adef85151
Merge pull request #106447 from kojurohan42/instant-build
Add support for exporting to Google Play Instant via Google Play Instant Export Option
2025-06-12 23:32:38 +02:00
Alexander Hartmann a1e12dca3f Fix `Input.vibrate_handheld` on Android. 2025-06-12 12:38:18 +02:00
Rémi Verschelde 6e5bcd2f41
Merge pull request #107207 from syntaxerror247/filePicker-save
Android: Fix save issue when using native file dialog
2025-06-10 12:30:21 +02:00
Adam Scott 026ba0dbbc
Fix Android build files joining paths without join 2025-06-09 10:37:54 -04:00
Rémi Verschelde a663949a7d
Merge pull request #107215 from syntaxerror247/fix-warning
Show shader baker related export warnings only if enabled
2025-06-07 00:44:06 +02:00
Anish Mishra 8bf87a6b2c Show shader baker related export warnings only if enabled 2025-06-06 21:05:39 +05:30
Anish Mishra a28697f2fe Android: Fix save issue when using native file dialog
Fixes the issue where saving a file without `MANAGE_EXTERNAL_STORAGE` permission using the `native file dialog` to get the file path causes the `ERR_FILE_NOT_FOUND` error.
2025-06-06 16:07:41 +05:30
Fredia Huya-Kouadio a0cb64569b Fix the `CAMERA` permission request on HorizonOS devices 2025-06-05 14:56:07 -07:00
Fredia Huya-Kouadio 547450befd Fix transparency background issue on Android
Fixes https://github.com/godotengine/godot/issues/106703
2025-06-02 22:45:16 -07:00
Thaddeus Crews 9ee7d78274
Merge pull request #106859 from syntaxerror247/alias
Add support for `OS.get_version_alias()` on Android
2025-06-02 18:51:56 -05:00
Thaddeus Crews 1c0669bd23
Merge pull request #106970 from m4gr3d/update_documentation_javaclasswrapper_androidruntimeplugin
Update the documentation for `JavaClassWrapper` and `AndroidRuntimePlugin`
2025-06-02 18:51:50 -05:00
Pāvels Nadtočajevs 2d93e004b9
Cleanup and unify `DisplayServer` screen methods and documentation. 2025-06-02 08:03:48 +03:00
Fredia Huya-Kouadio 658d3736f4 Update the documentation for `JavaClassWrapper` and `AndroidRuntimePlugin`
Follow-up to https://github.com/godotengine/godot-docs/pull/10979
2025-05-30 09:39:53 -07:00
Anish Mishra 458850b2d9 Add support for `OS.get_version_alias()` on Android 2025-05-30 19:57:15 +05:30
Thaddeus Crews de37627404
Merge pull request #102552 from DarioSamo/shader-baker
Add shader baker to project exporter.
2025-05-28 17:09:38 -05:00
David Snopek cc7f2e5160 JavaClassWrapper: Don't discard overloaded methods that differ by object type 2025-05-28 14:19:26 -05:00
Dario 5a30a7e7cd Add shader baker to project exporter.
Metal Support contributed by Migeran (https://migeran.com) and Stuart Carnie.

Co-authored-by: Stuart Carnie <stuart.carnie@gmail.com>
Co-authored-by: Gergely Kis <gergely.kis@migeran.com>
2025-05-27 12:45:27 -03:00
Thaddeus Crews 363b7638b0
Merge pull request #106797 from syntaxerror247/nomedia-crash
Android Editor: Disable `nomedia` file creation for Android 11 (api level 30)
2025-05-27 09:39:22 -05:00
Thaddeus Crews d5301d1cc9
Merge pull request #106736 from TCROC/fix-ios-plugins-broken
Fix ios plugin always invalid due to null ConfigFile
2025-05-26 11:24:46 -05:00
Thaddeus Crews 1c151e9980
Merge pull request #106724 from syntaxerror247/theme-attributes
Android: Add export option for custom theme attributes
2025-05-26 11:24:42 -05:00
Anish Mishra e084e479bf
Fix Android editor UI 2025-05-25 22:59:41 +05:30
Anish Mishra a89f083ffa Fix `OS.get_version()` on Android. 2025-05-25 21:17:07 +05:30
kojurohan42 12ad9ed4e0 Add support for exporting to Google Play Instant 2025-05-23 22:00:14 +05:45
Travis Lange a350e01dc7 Fix ios and android plugin always invalid due to null ConfigFile 2025-05-23 11:41:13 -04:00
Anish Mishra 0312a0cc9e Android: Add export option for custom theme attributes
- Regenerates the `GodotAppMainTheme` and `GodotAppSplashTheme` during Android export. Any manual changes to these styles will be cleared and replaced with default theme attributes.

- Adds a new export option `gradle_build/custom_theme_attributes` for injecting custom theme attributes directly via the export window, avoiding the need to manually modify themes.xml.
2025-05-23 20:00:47 +05:30
Thaddeus Crews 7951a1bb87
Merge pull request #106359 from m4gr3d/remove_compress_native_libs_option
Remove the `gradle_build/compress_native_libraries` export option
2025-05-21 09:06:25 -05:00
Rémi Verschelde 25a3c27c41
Merge pull request #105628 from rsanchezsaez/apple/ios-visionos-4.5
Native visionOS platform support
2025-05-20 23:09:07 +02:00
Ricardo Sanchez-Saez 457299449d
Introduce 'drivers/apple_embedded' abstract platform for code reuse 2025-05-19 15:37:13 -07:00
Fredia Huya-Kouadio ec7fb37db1 Update to the AAB directory layout
Follow-up to https://github.com/godotengine/godot/pull/106152 to address the regression described in https://github.com/godotengine/godot/issues/106582
2025-05-19 10:50:43 -07:00
Thaddeus Crews 596a8eb54c
Merge pull request #106462 from shiena/fix/prevent-camera-permission
Android: Don't request `CAMERA` permission on editor startup
2025-05-16 07:43:14 -05:00
Thaddeus Crews 5620a215a1
Merge pull request #106021 from Alex2782/fix_xbox_controller_on_android
Fix Xbox Controller on Android
2025-05-16 07:43:09 -05:00
Fredia Huya-Kouadio 1b0bd35f09 Update the GodotOpenXR meta-data removal logic
Godot OpenXR Vendor plugin version 4.0.0-stable changed the plugin's manifest declaration, so this updates the logic to remove that manifest declaration to match.
2025-05-15 16:38:11 -07:00
Fredia Huya-Kouadio 773fc96ab2 Update the logic to validate the java version
Loosen the check to allow Java version >= 17
2025-05-15 16:28:07 -07:00
KOGA Mitsuhiro 64e2c31c10 Android: Don't request CAMERA permission on editor startup 2025-05-16 06:45:37 +09:00
Fredia Huya-Kouadio e3d60bbd0c Remove the option to compress Android native libraries
Follow-up to https://github.com/godotengine/godot/pull/106358, this is a separate commit / PR since it shouldn't be cherry-picked in previous releases as it removes existing functionality.

Support for 16kb page size added in the previous PR requires the native libraries to be uncompressed, so we're deprecating and removing the option to compress native libraries.
See https://developer.android.com/guide/practices/page-sizes#agp_version_851_or_higher for more details.
2025-05-15 08:41:46 -07:00
Thaddeus Crews 82ea0b9293
Merge pull request #106358 from m4gr3d/update_ndk_28
[Android] Add support for 16 KB page sizes, update to NDK r28b
2025-05-15 10:22:27 -05:00
Rémi Verschelde 8851c5a54d
Android: Re-add `generate_apk` alias for compatibility 2025-05-15 12:42:29 +02:00
Fredia Huya-Kouadio 27bdc86ed1 Bump the NDK to version 28.1.13356709
Doing so automatically adds support for 16kib page to the Godot Android shared libraries.
See https://developer.android.com/guide/practices/page-sizes#compile-16-kb-alignment for details.
2025-05-13 08:27:36 -07:00
Leo de Penning 296ca79b9d Add CameraFeed support for Android
Co-authored-by: KOGA Mitsuhiro <shiena.jp@gmail.com>
2025-05-13 22:46:06 +09:00
Rémi Verschelde cc07dc4273
Merge pull request #106288 from raulsntos/android/store_so_uncompressed
[Android] Store native libraries uncompressed in APK
2025-05-13 01:05:27 +02:00
Rémi Verschelde c1d3746a67
Merge pull request #105992 from uno1982/4.5-dev-fix-android-controller
Fix issues with Android controller input handling
2025-05-13 01:04:52 +02:00
Raul Santos 6464347157
[Android] Store native libraries uncompressed in APK 2025-05-11 21:02:44 +02:00
Fredia Huya-Kouadio c29545f793 Bump the minimum supported SDK version to 24
Raise the minimum supported Android version from Android 5 (Lollipop) to Android 7 (Nougat).
2025-05-08 09:45:32 -04:00
Fredia Huya-Kouadio 4b4144cc39 Annual versions bump for the Android platform
- gradle: 8.2 -> 8.11.1
- androidx.constraintlayout:constraintlayout: 2.1.4 -> 2.2.1
- Android gradle plugin: 8.2.0 -> 8.6.1
- Android compile sdk: 34 -> 35
- Android target sdk: 34 -> 35
- Android build tools: 34.0.0 -> 35.0.0
- kotlin: 1.9.20 -> 2.1.20
- androidx.fragment:fragment: 1.7.1 -> 1.8.6
- OpenXR vendors plugin: 3.1.2-stable -> 4.0.0-stable
2025-05-07 13:14:49 -04:00
Alexander Hartmann cf00265386 Fix Xbox Controller on Android 2025-05-03 01:09:05 +02:00
Thaddeus Crews 01fc9aee6c
Core: Modernize C headers with C++ equivalents 2025-05-02 08:23:01 -05:00
uno1982 5ce11b1eac Fix for ps4 and ps5 controller options and share buttons 2025-05-01 11:30:02 -05:00
lawnjelly f8f350a32a Add `GLOBAL_GET` cached macros.
GLOBAL_GET is an expensive operation which should not be used each frame / tick.
This PR adds macros which do a cheaper revision check, and only call the expensive GLOBAL_GET when project settings have changed.

Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
2025-04-30 15:08:50 +01:00
Anish Mishra f8e935d406 Enable close button on PicoOS 2025-04-29 22:38:37 +05:30
Fredia Huya-Kouadio ccf61650bd Use `separate_debug_symbols` to control generation of the separate Android debug symbols file 2025-04-28 08:33:12 -07:00
Thaddeus Crews 2242bf9b3d
Merge pull request #105697 from akien-mga/scons-x86_32-mfpmath-sse
SCons: Explicitly enable `-mfpmath=sse -mstackrealign` for x86_32
2025-04-28 10:01:31 -05:00
Thaddeus Crews 5c9f93ce03
SCons: Begin decoupling generation & build code 2025-04-25 08:23:01 -05:00
Thaddeus Crews 760fb30b83
Merge pull request #105611 from m4gr3d/upgrade_android_tools_main
Update the Android NDK to the latest LTS version (r27c)
2025-04-24 09:09:27 -05:00
Rémi Verschelde 08fa148310
SCons: Explicitly enable `-mfpmath=sse -mstackrealign` for x86_32
Passing `-msse2` doesn't seem to be sufficient to opt into SSE floating point math
instead of the less stable x87.

`-mstackrealign` also seems necessary when using SSE on x86_32.
2025-04-24 12:36:29 +02:00
Thaddeus Crews c00cee3c03
Merge pull request #102171 from Muller-Castro/apksigner-fix
Fix apksigner execution failure on linux
2025-04-23 12:01:28 -05:00
Fredia Huya-Kouadio fac2ebed78 Update the project NDK to the latest LTS version (r27c) 2025-04-22 19:43:59 -07:00
Muller-Castro d702460caf Fix apksigner execution failure on linux 2025-04-22 19:47:30 -03:00
Fredia Huya-Kouadio 8a514ae56f Enable native debug symbols generation 2025-04-22 09:04:49 -07:00
Thaddeus Crews 485406b5e0
Merge pull request #104819 from m4gr3d/setup_godot_tools_lib_maven_central
Add maven publishing configuration for Godot tools
2025-04-16 10:45:14 -05:00
Thaddeus Crews 9906016959
Merge pull request #105301 from syntaxerror247/fix-decimal-keyboard
Android: Fix decimal keyboard
2025-04-15 12:28:46 -05:00
Anish Mishra 8f0a642f6c Android: Fix Decimal keyboard 2025-04-15 08:09:37 +05:30
Thaddeus Crews 0d267e7b1e
Core: Add dedicated `BitField` template 2025-04-11 11:53:26 -05:00
Thaddeus Crews 4972a524fc
Merge pull request #96139 from Alex2782/reverting_pr_84331
Add configuration option to disable `Scroll Deadzone` on Android
2025-04-11 09:51:08 -05:00
Thaddeus Crews 0964badc05
Merge pull request #105210 from nikitalita/gdsoftclass-fa-da
Add GDSOFTCLASS to FileAccess and DirAccess derived classes
2025-04-11 09:51:08 -05:00
A Thousand Ships 889410dcda
Add `String::replace_char(s)` methods for performance and convenience 2025-04-10 13:08:45 +02:00
nikitalita 2d0ae77719 add GDSOFTCLASS to FileAccess and DirAccess derived classes 2025-04-09 11:52:50 -07:00
bruvzg c6739f64df
[Export] Use project settings overrides with the target preset features instead of current platform features. 2025-04-08 21:22:37 +03:00
Thaddeus Crews d98c3f5ffe
Merge pull request #104333 from Mickeon/documentation-even-more-miscellaneous-oddities
Fix *even* more miscellaneous oddities around the class reference
2025-04-08 12:32:41 -05:00
Alex cd68034e01 Add configuration option to disable `Scroll Deadzone` on Android 2025-04-07 22:15:31 +02:00
Micky 7603945d14 Fix *even* more miscellaneous oddities around the class reference 2025-04-07 17:37:08 +02:00
Anish Mishra b462db5adb Android: Hardware keyboard connection status callback
Adds a DisplayServer method to register hardware keyboard connection change callback.
2025-04-05 08:14:29 +05:30
Aaron Franke 2800948d61
Organize ifdefs for disabling navigation, physics, and XR 2025-04-02 08:24:24 -07:00
Pāvels Nadtočajevs 4638ade13f
Enable TTS on demand, instead of fully disabling it when project setting is not set. 2025-04-01 15:24:46 +03:00
Thaddeus Crews abd565eb19
Merge pull request #104844 from Ivorforce/gdsoftclass
Add and require `GDSOFTCLASS` for `Object` subclasses that want to cast but do not use `GDCLASS`.
2025-03-31 19:02:03 -05:00
Lukas Tenbrink fa0a3c9c6e Add and require `GDSOFTCLASS` for `Object` subclasses that want to cast but do not use `GDCLASS`. 2025-03-31 20:49:50 +02:00
Fredia Huya-Kouadio 19700dacdf Add maven publishing configuration for Godot tools
The Godot Android library on MavenCentral is a `template` build; this updated configuration adds a new 'Godot Tools' publishing artifact, allowing developers access to the `editor` build of the Godot Android library.
2025-03-31 10:29:06 -07:00
Thaddeus Crews 64f80ca0e9
Merge pull request #104810 from kiroxas/utf8_cleanup
Replace `append_utfx` with direct `String::utfx`
2025-03-31 12:03:44 -05:00
Kiro 23129a66ed Replace append_utfx with direct String::utfx 2025-03-30 19:56:38 +02:00
LuoZhihao 138e990262 Replace the deprecated version macro 2025-03-30 18:00:19 +08:00
Thaddeus Crews 780cf03051
Merge pull request #104556 from Ivorforce/string-extend-instead-of-parse
Use `append_` instead of `parse_` for `String` methods.
2025-03-29 10:16:33 -05:00
Rémi Verschelde 3f82efa65d
Merge pull request #104613 from zaevi/caching_csharp_tfm_validation
[.NET] Add caching for dotnet TFM validation result
2025-03-28 14:33:14 +01:00
Rémi Verschelde 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
Rémi Verschelde fceae7ed89
Merge pull request #103000 from rburing/tell_me_WHICH_keystore
When code signing, specify which keystore is not found
2025-03-28 14:31:52 +01:00
Lukas Tenbrink ffa6ef220b Use `append_` instead of `parse_` for `String` methods. 2025-03-27 17:51:02 +01:00
Zae e3373ed0a4 Add caching for dotnet TFM validation result 2025-03-26 22:43:17 +08:00
Thaddeus Crews bf1c2583f4
Merge pull request #101954 from bruvzg/uid_deref
[Export] Convert `uid://` names to `res://` when exporting files.
2025-03-24 10:01:07 -05:00