Commit Graph

224 Commits (d94252cf98cadd354a06d7c063acda3443c44592)

Author SHA1 Message Date
Raul Santos c5db2cfec2 [.NET] Require `net9.0` for Android exports
To ensure Android exports are compatible with the new Play Store
requirement that all `.so` libraries included are aligned to 16k,
we now require C# projects to target `net9.0` which uses the
correct alignment (as opposed to the current one of 4k).

The thirdparty jar library has also been updated to the one from
the 9.0.4 runtime package so it's compatible with non-gradle
builds targeting `net9.0`.

Non-android projects are not affect, the minimum TFM is still
`net8.0`.
2025-09-26 17:11:31 +07:00
Fredia Huya-Kouadio 8f2ad2eb42 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-09-26 16:26:43 +07:00
Raul Santos 0e7b067701 [Android] Store native libraries uncompressed in APK 2025-09-26 16:06:33 +07:00
Fredia Huya-Kouadio 284d0332dd 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-09-26 16:04:19 +07:00
Fredia Huya-Kouadio 9622b4b681 Update the `zipalign` implementation to properly align APKs with uncompressed `.so` libraries 2025-05-12 15:54:50 +07:00
Anish Mishra 6ef29a0e55
Convert `compress_native_libraries` to a basic export option
(cherry picked from commit f3155412af)
2025-03-18 14:06:16 +07: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 +07:00
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 +07: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 +07:00
Pāvels Nadtočajevs b3f7c8f5d3 [Export] Respect icon/splash screen import settings. 2025-01-31 07:45:16 +07: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 +07:00
Anish Mishra 6df21a8fdc Android: Keep swipe-to-dismiss disabled by default 2025-01-27 23:45:58 +07:00
Haoyu Qiu 4c4f29a490 Fix several i18n issues in editor 2025-01-26 16:41:10 +07: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 +07: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 +07: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 +07: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 +07:00
RedMser bb76e721e9 Respect system user setting for (un)installing APK 2024-12-30 17:37:24 +07:00
Summersay415 3d8ecc452a Delete .idsig on One Click Deploy 2024-12-29 13:53:17 +07:00
Anish Mishra 96c6dec9a7 Android Code Cleanup: Rename constants to uppercase 2024-12-23 14:14:41 +07:00
Anish Mishra 5d8e2cd63f Add option to disable Swipe-to-Dismiss for Wear OS 2024-12-20 23:21:50 +07:00
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 +07: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 +07: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 +07: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 +07:00
Anish Mishra f767cf00fd Android: Make monochrome icon optional 2024-12-02 22:04:38 +07:00
Kiro 83d4bde0a2 When calling code has length of string, pass it to parse_utf8 2024-12-01 08:31:22 +07:00
Alexander Hartmann 796d943f14 Fix missing space after period in error message. 2024-11-24 02:46:42 +07: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 +07:00
Anish Mishra 5e09d747e8 Revert "Add warning when monochrome icon is not specified"
This reverts commit a84292e835.
2024-11-19 21:27:56 +07:00
Anish Mishra 728927425f Fix Android boot splash and gradle build issue 2024-11-18 21:12:22 +07:00
A Thousand Ships 68f638cf02
Use `(r)find_char` instead of `(r)find` for single characters 2024-11-17 10:02:18 +07: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 +07:00
Thaddeus Crews a73e2d459e
Merge pull request #98604 from Summersay415/read-music
Android: Add various media permissions
2024-11-12 12:13:08 +07: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 +07: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 +07:00
Anish Mishra b2cb858572 Android: Add app_category "Undefined" 2024-11-08 23:37:27 +07:00
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 +07: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
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 +07: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 +07:00
Hilderin e064efccbc Fix editor_doc_cache locked on editor startup 2024-09-14 09:37:04 +07:00
bruvzg 2c991a727b [Windows] Only use long executable path when necessary, fix broken apksigner detection. 2024-09-10 10:34:44 +07: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 +07: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 +07: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