Thaddeus Crews
f09ee0171a
Style: Begin integrating simple `.clangd` fixes
2025-03-22 13:24:35 -05:00
Pāvels Nadtočajevs
f3b6a4009d
[Export] Convert `uid://` names to `res://` when exporting files.
2025-03-19 16:58:52 +02:00
Anish Mishra
f3155412af
Convert `compress_native_libraries` to a basic export option
2025-03-18 12:26:25 +05:30
Fredia Huya-Kouadio
845c925b67
Add support for export plugins to modify the Android prebuilt manifest
2025-03-14 16:05:09 -07:00
Aaron Franke
97ee05e9b7
Rename version defines to GODOT_VERSION_* to match GDExtension godot-cpp
2025-03-12 11:11:38 -07:00
Thaddeus Crews
d64a94c1f5
Merge pull request #102910 from syntaxerror247/hiding-something
...
Hide debug keystore export settings
2025-03-11 14:00:45 -05:00
A Thousand Ships
331a43a9d8
Add `String::remove_char(s)` methods for performance and convenience
2025-03-10 13:19:28 +01:00
A Thousand Ships
466590d0ec
Use `get_slicec` instead of `get_slice` for single character splitters
2025-03-08 20:36:37 +01:00
Thaddeus Crews
324512e11c
Style: Replace header guards with `#pragma once`
2025-03-07 17:33:47 -06:00
Thaddeus Crews
3d9b37911d
Merge pull request #103011 from Repiteo/style/svgo-newline
...
Style: Ensure svgs have trailing newlines
2025-03-07 15:12:41 -06:00
Thaddeus Crews
3c43508ed7
Merge pull request #102427 from AThousandShips/fix_substr
...
Clean up some uses of `String::substr`
2025-03-07 15:12:33 -06:00
Thaddeus Crews
0c8f4f3d91
Merge pull request #97908 from atlasapplications/just-linux-bionic
...
Add `linux-bionic` RID export option
2025-03-07 15:12:32 -06:00
Thaddeus Crews
c937b6d180
Merge pull request #102419 from Ivorforce/std-size
...
Use `std::size` instead of `sizeof(a) / sizeof(a[0])` pattern throughout the codebase.
2025-03-07 15:12:25 -06:00
A Thousand Ships
5113022dfe
Clean up some uses of `String::substr`
...
Cases where the end position is either equvalent to the default or past
the end of the string.
2025-03-07 14:50:38 +01:00
Anish Mishra
28d1dccf63
Android: Fix export and runtime logic to check if using Vulkan
...
Also fix iOS export logic that would force a min target of iOS 14.0 (for Metal)
even when targeting the Compatibility renderer.
Co-authored-by: Pāvels Nadtočajevs <7645683+bruvzg@users.noreply.github.com>
2025-02-23 12:28:59 +01:00
Thaddeus Crews
7e5baa0426
Style: Enforce trailing newlines on svgs
2025-02-18 11:02:45 -06:00
Ricardo Buring
99f9561be7
When code signing, specify which keystore is not found
2025-02-18 16:54:49 +01:00
Anish Mishra
8595f5aa16
Hide debug keystore export settings
2025-02-16 13:55:47 +05:30
Raul Santos
70ff213de5
C#: Validate project TFM for Android template exports
...
The C# Android export template includes `.jar` dependencies from .NET 8.0, so other TFMs are not supported.
2025-02-10 17:19:05 +01:00
Lukas Tenbrink
e34f1f504c
Use `std::size` instead of `sizeof(a) / sizeof(a[0])` pattern throughout the codebase.
2025-02-07 14:57:48 +01:00
Fredia Huya-Kouadio
9e4365f1a7
Export the `rendering/renderer/rendering_method.mobile` project setting to the AndroidManifest
...
The AndroidManifest already stores the Godot editor and library versions. The addition of this meta-data allows to identify Godot Android apps that may be subject to renderer specific issues addressed in future versions of the engine.
2025-02-04 21:11:56 -08:00
Pāvels Nadtočajevs
b3f7c8f5d3
[Export] Respect icon/splash screen import settings.
2025-01-31 07:45:16 +02:00
Justin Sasso
8a4bc9881f
Add linux-bionic RID Export Option
...
Adds an export option to enable the linux-bionic RID so Android can export with NativeAOT enabled.
2025-01-28 12:54:10 -05:00
Thaddeus Crews
b238fe25e1
Merge pull request #101996 from syntaxerror247/fix-swipe-to-dismiss
...
Android: Keep swipe-to-dismiss disabled by default
2025-01-28 09:03:30 -06:00
Anish Mishra
6df21a8fdc
Android: Keep swipe-to-dismiss disabled by default
2025-01-27 23:45:58 +05:30
Haoyu Qiu
4c4f29a490
Fix several i18n issues in editor
2025-01-26 16:41:10 +08:00
Fredia Huya-Kouadio
b4f25b1863
Clean up the XR editor logic
...
- Coalesce common logic into the `main` flavor to avoid duplication
- Code cleanup
2025-01-16 09:40:30 -08:00
Fredia Huya-Kouadio
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
Yufeng Ying
34d8255947
Force build editor with regex module, remove checking code.
...
Fix include.
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-07 19:43:23 +08:00
Rémi Verschelde
d15e559355
Merge pull request #100103 from Summersay415/idsig
...
Android: Delete `.idsig` on One Click Deploy
2025-01-06 22:47:29 +01:00
RedMser
bb76e721e9
Respect system user setting for (un)installing APK
2024-12-30 17:37:24 +01:00
Summersay415
3d8ecc452a
Delete .idsig on One Click Deploy
2024-12-29 13:53:17 +07:00
Fredia Huya-Kouadio
7ad9d23a1d
Updates how the `REQUEST_INSTALL_PACKAGES` permission is handled
...
- Only request the permission the first time the editor tries to open an apk
- Disable the permission for the HorizonOS build as the HorizonOS store doesn't support it yet
2024-12-25 20:04:34 -08:00
Anish Mishra
96c6dec9a7
Android Code Cleanup: Rename constants to uppercase
2024-12-23 14:14:41 +05:30
Anish Mishra
5d8e2cd63f
Add option to disable Swipe-to-Dismiss for Wear OS
2024-12-20 23:21:50 +05:30
Fredia Huya-Kouadio
2d3f6963b2
Update the visibility for the custom templates for all platforms
...
Hide the custom template options behind the `Advanced Options` toggle
2024-12-17 13:08:47 -08:00
ArchercatNEO
00a791f04e
Use temp dirs instead of cache dirs for export
...
Fixes #95897
During CI scenarios $HOME may be set to an invalid value (such as
`/var/empty`).
Using temp dirs fits better with godot's usage of these paths and is
independent from the user's $HOME.
2024-12-08 12:07:17 +00:00
Thaddeus Crews
1719f8ed3d
Merge pull request #99834 from kiroxas/passLengthToParseUTF8
...
Ensure `parse_utf8` has length of string passed in when available
2024-12-03 14:41:06 -06:00
Thaddeus Crews
6e8c0a43c3
Merge pull request #99378 from syntaxerror247/optional_monochrome_icon
...
Android: Refactor icon logic and make monochrome icon optional
2024-12-03 14:40:52 -06:00
Anish Mishra
f767cf00fd
Android: Make monochrome icon optional
2024-12-02 22:04:38 +05:30
Kiro
83d4bde0a2
When calling code has length of string, pass it to parse_utf8
2024-12-01 08:31:22 +01:00
Alexander Hartmann
796d943f14
Fix missing space after period in error message.
2024-11-24 02:46:42 +01:00
Thaddeus Crews
650e96b768
Merge pull request #99353 from syntaxerror247/some_uid_issues
...
Fix Android boot splash and gradle build issue
2024-11-19 15:20:23 -06:00
Anish Mishra
5e09d747e8
Revert "Add warning when monochrome icon is not specified"
...
This reverts commit a84292e835 .
2024-11-19 21:27:56 +05:30
Anish Mishra
728927425f
Fix Android boot splash and gradle build issue
2024-11-18 21:12:22 +05:30
Thaddeus Crews
8811b39968
Merge pull request #97992 from Nikitf777/android-sdk-path
...
Add default value of editor property `export/android/android_sdk_path` for Windows, Linux, and macOS
2024-11-18 09:23:42 -06:00
Nikita
c6f4228706
Add default value of editor propetry "export/android/android_sdk_path" for Windows, Linux, and macOS
2024-11-17 22:25:39 +03:00
A Thousand Ships
68f638cf02
Use `(r)find_char` instead of `(r)find` for single characters
2024-11-17 10:02:18 +01:00
bruvzg
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
Thaddeus Crews
a73e2d459e
Merge pull request #98604 from Summersay415/read-music
...
Android: Add various media permissions
2024-11-12 12:13:08 -06:00
Thaddeus Crews
b6bbd4034e
Merge pull request #98971 from syntaxerror247/new_appCategory
...
Add `CATEGORY_UNDEFINED` option in Android export
2024-11-12 09:27:45 -06:00
Juan
2ac562cdf8
Add ability for PCK patches to remove files
...
Co-authored-by: Mikael Hermansson <mikael@hermansson.io>
2024-11-11 16:34:37 +01:00
Anish Mishra
b2cb858572
Android: Add app_category "Undefined"
2024-11-08 23:37:27 +05:30
Thaddeus Crews
b00e1cbf74
Merge pull request #97631 from m4gr3d/prompt_apk_install_after_generation
...
[Android editor] Enable automatic install of exported apks for the Android editor
2024-11-04 21:52:08 -06:00
Summersay415
a84292e835
Add warning when monochrome icon is not specified
2024-10-29 21:19:21 +07:00
Fredia Huya-Kouadio
af2423ba4d
Enable automatic install of export apks for the Android editor
2024-10-28 16:12:16 -07:00
Summersay415
4fd53eb128
Add media permissions
2024-10-28 19:14:20 +07:00
Yevhen Babiichuk (DustDFG)
af6d260c17
Don't include `core/io/image.h` in `core/os/os.h`
...
`core/os/os.h` doesn't use `core/io/image.h`. It just brings
transitive dependencies. Lots of dependencies because `core/os/os.h`
is transitively included in almost every file of godot
Also added `core/io/image.h` into files^1 where `Ref<Image>` and `core/os/os.h`
were used to prevent obscure errors involving `Ref<Image>`
^1 except those which include `core/io/image_loader.h` or `core/io/image.h` by
corresponding .h file with the same name
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-10-18 19:04:19 +03:00
Fredia Huya-Kouadio
4587d14796
Add logic to automatically pick up jar/aar library dependencies in the `res://addons` directory
2024-09-29 14:32:10 -07:00
Anish Mishra
dbcc7f3051
Add support for Android Themed Icons (monochrome)
2024-09-27 13:56:34 +02:00
kobewi
4023ace08d
Add Advanced Settings switch to Editor Settings
2024-09-17 12:20:55 +02:00
Raul Santos
0aa46e19c5
C#: Fallback to CoreCLR/MonoVM hosting APIs when hostfxr/NativeAOT fails
...
Some platforms don't support hostfxr but we can use the coreclr/monosgen library directly to initialize the runtime.
Android exports now use the `android` runtime identifier instead of `linux-bionic`, this removes the restrictions we previously had:
- Adds support for all Android architectures (arm32, arm64, x32, and x64), previously only the 64-bit architectures were supported.
- Loads `System.Security.Cryptography.Native.Android` (the .NET library that binds to the Android OS crypto functions).
2024-09-16 17:07:03 +02:00
Hilderin
e064efccbc
Fix editor_doc_cache locked on editor startup
2024-09-14 09:37:04 -04:00
A Thousand Ships
dd6443193c
[Editor] Expose more editor settings to documentation
...
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2024-09-12 15:34:49 +02:00
bruvzg
2c991a727b
[Windows] Only use long executable path when necessary, fix broken apksigner detection.
2024-09-10 10:34:44 +03:00
Rémi Verschelde
b128e71383
Merge pull request #96208 from m4gr3d/cleanup_immersive_logic
...
Restore fullscreen toggle menu for the Android editor and clean up the immersive mode logic
2024-08-30 09:59:27 +02:00
Fredia Huya-Kouadio
923b0f2e56
Restore 'Toggle fullscreen' menu for the Android editor and clean up the immersive mode logic
2024-08-28 09:50:34 -07:00
bruvzg
07e986f728
Allow adding custom export platforms using scripts / GDExtension.
2024-08-28 10:29:01 +03:00
Fredia Huya-Kouadio
a5897d579b
Update the `GodotHost` interface to support signing and verifying Android apks
...
Update the export logic to enable apk generation and signing for Android editor builds
Note: Only legacy builds are supported. Gradle builds are not supported at this point in time.
2024-08-26 11:16:38 -07:00
Rémi Verschelde
690c5669e2
Merge pull request #91271 from m4gr3d/clean_gradle_build_setup
...
Clean up the gradle build logic used to generate the Godot Android binaries
2024-08-16 10:33:19 +02:00
Chris
7afefe6469
Fixed Android export failing when no JDK is setup in the OS environment and custom keystores have been set in the export dialog.
2024-07-27 01:33:59 +02:00
Fredia Huya-Kouadio
5b327aee96
Fix issue preventing enabling the remote button for Android
...
https://github.com/godotengine/godot/pull/92032 updated the logic to enable / disable the remote debug button, and in doing so added a `can_export` check.
However, no events / notifications are dispatched when the value of the `can_export` check changes, which in turn prevents the logic used to enable / disable the remote debug button from running again.
The fix consists then in removing the `can_export` check, so that the remote debug button shows as `enabled` when a preset is present and is runnable.
2024-07-16 00:25:16 -07:00
Fredia Huya-Kouadio
9e9ffdd1bb
Revert hiding of custom templates under the `Advanced Options` toggle
2024-06-24 06:14:27 -07:00
Thaddeus Crews
cc6dd8d02c
Style: Optimize `.svg` files with `svgo`
2024-06-23 08:15:19 -05:00
Fredia Huya-Kouadio
f20e21a6d6
Update the splash screen logic for the Godot app template
...
Due to limitations to the splash screen introduced in Android 12, the splash screen logic is updated to the same logic as used on other platforms, i.e: the splash screen is rendered by the Godot engine instead of the Android runtime.
2024-06-10 00:59:36 -07:00
Fredia Huya-Kouadio
d38c5b6737
Clean up the build commands used by the editor for gradle builds
2024-05-31 06:21:16 -07:00
A Thousand Ships
a0dbdcc3ab
Replace `find` with `contains/has` where applicable
...
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02:00
A Thousand Ships
955d5affa8
Reduce and prevent unnecessary random-access to `List`
...
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)
* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
Rémi Verschelde
e500046e00
Merge pull request #90611 from m4gr3d/automatically_generate_debug_keystore
...
Automatically generate the Android debug keystore
2024-04-22 12:52:03 +02:00
Fredia Huya-Kouadio
a8c9b59f3f
Automatically generate the Android debug keystore
...
Automatically generate the Android debug keystore when the Java SDK path is specified.
2024-04-12 23:53:28 -07:00
Fredia Huya-Kouadio
6fd5238955
Fix issue with resolving the path for the Android keystore file
...
The previous logic passed the path to the Android keystore as-is to an external tool. This causes the tool to fail if the path is Godot-specific (e.g: 'res://<path_to_keystore>'
2024-04-12 17:00:09 -07:00
Mikael Hermansson
a057158d75
Revert pack trimming introduced by #82084
2024-04-10 12:00:04 +02:00
bruvzg
bf558adcdd
[.NET] Disable output embedding on macOS, move it to the advanced options on other platforms.
2024-04-09 17:47:39 +03:00
melquiadess
739190ca2b
Add POST_NOTIFICATIONS permission to the list of permissions available in the Export dialog
2024-04-08 09:45:16 +01:00
Rémi Verschelde
3a73c04af6
Merge pull request #88840 from m4gr3d/update_android_export_advanced_options
...
Update the list of advanced export options for the Android platform
2024-04-05 12:15:48 +02:00
beicause
428fa0dfa7
Fix gdextensionlibs.json storage path in Android gradle build
...
It should relative to gradle build directory
2024-03-17 01:11:36 +08:00
David Nikdel
5e6adb4a2d
Merge uid_cache.bin and global_script_class_cache.cfg after mounting PCKs
...
fixes godotengine#82061
fixes godotengine#61556
Also, distinguish between main pack and DLC packs.
It's desirable to downloaded content to be as small as possible. This change avoids bloating non-main pack files with new versions of resources that are all read on startup and never used again. They have no effect if loaded after startup.
- project.godot/project.binary file
- extension_list.cfg
- app icon and boot_splash
- .ico and .icns files (these can still be opted in for DLC by listing them explicitly in the include filter)
2024-03-06 12:14:21 -05:00
Fredia Huya-Kouadio
90b43648c4
Update the Android export validation logic to account for the custom gradle android source template
...
Follow-up to https://github.com/godotengine/godot/pull/88297 to address the following issues:
- Ensure that the custom gradle android source template is valid. Show a warning if it's not
- Don't show an error when the official export templates are not installed but a custom android source template is specified
2024-03-05 01:32:14 -08:00
Rémi Verschelde
3a08c646ee
Pre-commit: Update to clang-format 17.0.6 and black 24.2.0
2024-02-28 14:25:35 +01:00
Rémi Verschelde
b849d34012
Don't attempt shutting down adb on exit if not started
...
Fixes #88864 .
2024-02-26 13:37:06 +01:00
Fredia Huya-Kouadio
68a1632938
Update the list of advanced export options for the Android platform
2024-02-25 13:40:33 -08:00
Alexander Hartmann
293c34a2d2
Display a warning if device CPU architecture is not active in the export preset.
2024-02-23 01:37:32 +01:00
bruvzg
fc49964de4
Fix crash on documentation generation on macOS.
2024-02-19 13:42:27 +02:00
Rémi Verschelde
ec0adfd23e
Merge pull request #88419 from m4gr3d/add_export_preset_advanced_options_toggle
...
Add an `Advanced Options` toggle to the editor export preset
2024-02-19 00:08:22 +01:00
Fredia Huya-Kouadio
6ef31541bf
Add an `Advanced Options` toggle to the editor export preset
2024-02-18 10:43:58 -08:00
Rémi Verschelde
e697774f61
Merge pull request #87823 from KoBeWi/ban_adb
...
Don't invoke adb with no runnable Android preset
2024-02-17 15:54:49 +01:00
Rémi Verschelde
01323cd687
Merge pull request #88385 from m4gr3d/enable_legacy_packaging_main
...
Add export setting to specify whether the native libraries should be compressed for the gradle build
2024-02-17 00:26:42 +01:00
David Snopek
a37ad265dc
Android: Allow using alternative Gradle build directory
2024-02-16 15:20:47 -06:00
Fredia Huya-Kouadio
a69a585c91
Add export setting to specify whether the native libraries should be compressed for the gradle build
2024-02-15 18:04:55 -08:00
kobewi
343bfb112f
Don't invoke adb with no runnable Android preset
2024-02-15 22:37:32 +01:00