Commit Graph

67 Commits

Author SHA1 Message Date
43566d9462 Fix the issue preventing installing C# binaries on Android devices with api <= 29 2025-09-26 17:16:42 +05:30
cc7fbe6aec 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-09-26 16:24:04 +05:30
731fa536fe Update the project NDK to the latest LTS version (r27c) 2025-09-26 16:22:47 +05:30
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 +05:30
8ed8b4a89d Bump the version of the openxr vendors plugin dependency 2025-02-12 09:51:07 -08:00
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
4587d14796 Add logic to automatically pick up jar/aar library dependencies in the res://addons directory 2024-09-29 14:32:10 -07:00
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
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
c6a23a7a7d Fix crashes reported by the Google Play Console 2024-07-04 02:46:11 -07:00
dd966f5680 Configure the splash screen for the Android editor 2024-06-10 00:34:00 -07:00
d38c5b6737 Clean up the build commands used by the editor for gradle builds 2024-05-31 06:21:16 -07:00
3b8d0bee4a Fix detecting when Gradle is invoked from Studio
The existing 'idea.platform.prefix' system-property approach
only worked because of a Android Studio bug that leaks the
system properties from Android Studio into Gradle build:
  - https://issuetracker.google.com/201075423

This bug was fixed in Android Studio 2023.3.1 (Jellyfish).

The correct way of identifying builds from Android Studio is to
use the following project property (not system property):
 - android.injected.invoked.from.ide
2024-05-20 17:02:36 -07:00
73908bbce2 Remove redundant semicolons from Kotlin/gradle files 2024-04-02 23:31:34 +01:00
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
e04a38775b Update Android dependencies for the project
- Update Android gradle plugin version from 7.2.1 to 8.2.0
- Update gradle version from 7.4.2 to 8.2
- Update target SDK from 33 to 34
- Update build tools version from 33.0.2 to 34.0.0
- Update kotlin version from 1.7.0 to 1.9.20
- Update Android fragment version from 1.3.6 to 1.6.2
- Update AndroidX window version from 1.0.0 to 1.2.0
2024-01-18 10:35:32 -08:00
85e98ef009 Specify the path to the Java SDK used for the Android gradle build
Introduce an editor setting to allow users the ability to specify the path to the Java SDK used for the Android gradle build.
2024-01-18 09:19:37 -08:00
56ce2d94c5 Bump the java version to version 17 2023-10-17 15:08:03 -07:00
a041f96779 Update the format for the app version code and name 2023-05-24 14:36:56 -07:00
0d569bea5d Update the gradle build tasks to generate play store builds.
Configure the gradle builds to sign and build the release version of the Godot Android Editor
2023-04-27 22:08:55 -07:00
4507d3a38c Downgrade android gradle plugin to version 7.2.1.
Version 7.3.0 changes the build layout which causes updates to the generated shared libraries to not be picked up.
2023-04-21 14:34:07 -07:00
845ca33c76 Bump the target SDK version to 33 (Android 13) 2023-03-21 19:24:09 -07:00
a5fdc95515 Configure maven central snapshot versions for the Godot Android library
A snapshot version is a version that has not yet been released which allows us to deploy the same transient version incrementally, without requiring projects to upgrade the artifact version they're consuming. Those projects can use the same version to get an updated snapshot version.
2023-03-06 01:30:19 -08:00
2aba13e8fb Updating the minimum Android target api for proper Vulkan support 2022-11-30 11:16:59 -08:00
151233b702 Upgrade Android gradle plugin to version 7.2.1 2022-11-10 16:35:50 -08:00
67b38d0ac2 Update the versioning logic for the Godot Android Editor
This is necessary to separate subsequent uploads to the Google Play store as each upload needs to increment the version code.
2022-09-12 09:47:07 -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
48efd563e4 Upgrade Android NDK to r23 LTS 2022-06-25 14:58:30 +01:00
ec6d5d6cba Update android:targetSdkVersion from 30 to 31
Starting in August 2022, new apps will need to target API level 31 (Android 12) or higher and adjust for behavioral changes.

Read more here: https://developer.android.com/google/play/requirements/target-sdk
2022-06-23 15:17:15 +02:00
cd7871867f Merge pull request #61579 from madmiraal/android-kotlin-java-version
Ensure Android Java and Kotlin compile to the same version
2022-06-01 18:31:09 +02:00
b19bbadcf0 Ensure Android Java and Kotlin compile to the same version 2022-06-01 16:23:44 +01:00
6f7ec7f723 Misc editor tweaks and polishes:
- Using a bucketized approach to select the editor scale in order to avoid too high values
- Add default app dimensions: used on Android devices with free floating app windows to set the default app frame
- Add ability to launch the Game window in an adjacent frame when in multi window mode
2022-05-31 23:49:40 -07:00
5711037bf6 Android port of the Godot Editor
These set of changes focus primarily on getting the core logic and overall Godot Editor UI and functionality up and running natively on Android devices.
UI tweaks / cleanup / polish, as well configuration for Android specific functionality / restrictions will be addressed in follow-up PRs iteratively based on feedback.

Co-authored-by: thebestnom <shoval.arad@gmail.com>
2022-03-28 14:04:51 -07:00
a2bf47de2b Setup logic to publish the Godot Android library to MavenCentral 2022-03-14 14:53:39 -07:00
2e7e6502dd Add configs to specify the min and target sdk versions. 2021-12-08 09:13:07 -08:00
bd3d99ca8a Add default minSdkVersion and targetSdkVersion in the AndroidManifest.xml file 2021-11-03 21:54:19 -07:00
95b1275197 Upgrade Android Gradle to version 7.2 2021-10-14 16:19:00 +01:00
23311a6ed3 Use current androidx Fragment library instead of legacy libraries 2021-09-08 10:17:26 +01:00
3a00ff1cce Add partial support for Android scoped storage.
This is done by providing API access to app specific directories which don't have any limitations and allows us to bump the target sdk version to 30.
In addition, we're also bumping the min sdk version to 19 as version 18 is no longer supported by Google Play Services and only account of 0.3% of Android devices.
2021-08-16 23:11:56 -07:00
d1a9363c4c Update config versions and deprecate the use of the jcenter maven repo. 2021-06-24 08:58:56 -07:00
532b0e3462 Add support for custom debug keystore. 2021-06-22 10:05:55 -07:00
d88e1f04df Android: Upgrade buildTools from 30.0.1 to 30.0.3
It seems 30.0.1 had issues with compatibility with JDK 8 and 11,
which appear to be solved in 30.0.3 as per godotengine/godot-docs#4796.
2021-04-26 17:22:53 +02:00
e598acff3a Allow to build dev template with symbols 2021-04-14 00:14:57 +03:00
4380004176 Enable doNotStrip when doing development/debugging within Android Studio 2021-03-16 17:21:00 -07:00
6fd881e43c Update the logic to load Godot Android plugins packaged into the binary.
The previous logic had the side effect of imposing a limit of one plugin per `aar` binary. The update lifts that restriction.
2021-02-26 08:38:39 -08:00
bc5120eb97 Add logic to record the version of the Godot engine for the Android platform. 2021-02-24 04:23:46 -08:00
e5311f3523 Revert AGP to version 4.0.1 as a workaround to https://issuetracker.google.com/issues/171235570 in version 4.1.x 2021-02-17 15:39:53 -08:00
c730da8b20 Android: Bump NDK version to 21.4.7075529
This is what GitHub Actions now provide and they removed the previous 21.3.6528147.
A bit annoying to have our hand forced this way but it's still 21.x so should be good
to upgrade.
2021-02-18 00:28:51 +01:00
eee213e01a Improve the logic to compile for Android by automatically detecting and setting up the Android NDK if needed. 2021-01-05 15:07:17 -08:00
918b218b55 Update gradle build files to automatically perform signing and zipalign tasks for custom builds. 2020-11-22 18:11:54 -08:00