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