Commit graph

87 commits

Author SHA1 Message Date
Fredia Huya-Kouadio
eba77be573 Update Android dependencies for the project
- Update Java version from 11 to 17
- 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
- Update Nexus plugin version from 1.1.0 to 1.3.0
2024-01-25 13:58:08 -08:00
Fredia Huya-Kouadio
cf706e2dc3 Update the launchMode for the GodotApp activity to allow other activities to be part of the same task
For details, see https://developer.android.com/guide/topics/manifest/activity-element#lmode
2023-10-31 19:12:34 -07:00
Fredia Huya-Kouadio
5cf0ba88e3 Add parameters for the Godot Activity starting intent to allow restarting or force-quitting the engine
Follow-up code cleanup for https://github.com/godotengine/godot/pull/78130
2023-06-15 21:45:30 -07:00
Fredia Huya-Kouadio
3bef5f29ec Update the format for the app version code and name 2023-05-24 14:40:37 -07:00
Fredia Huya-Kouadio
30e3e301e0 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:13:00 -07:00
Fredia Huya-Kouadio
837db0b051 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 13:19:45 -07:00
Fredia Huya-Kouadio
2803c471e8 Bump the target SDK version to 33 (Android 13) 2023-03-21 19:24:39 -07:00
Fredia Huya-Kouadio
0e2292f341 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:29:41 -08:00
Rémi Verschelde
1426cd3b3a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".

Backported from #70885.
2023-01-10 15:26:54 +01:00
Fredia Huya-Kouadio
de45636fd3
Upgrade Android gradle plugin to version 7.2.1
(cherry picked from commit 151233b702)
2022-12-12 14:49:23 +01:00
Fredia Huya-Kouadio
f37390cbc5 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 07:59:45 -07:00
ne0fhyk
24e3b3b88d 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-06-26 16:53:02 -07:00
Marcel Admiraal
061c280873 Upgrade Android NDK to r23 LTS 2022-06-25 16:02:19 +01:00
Gustavo Maciel
a38119a746 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

(cherry picked from commit ec6d5d6cba)
2022-06-23 15:59:15 +02:00
Fredia Huya-Kouadio
05fc140ee6 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

(cherry picked from commit 6f7ec7f723)
2022-06-08 10:11:28 +02:00
Marcel Admiraal
9f0dba8b65 Ensure Android Java and Kotlin compile to the same version 2022-06-01 16:24:12 +01:00
Marcel Admiraal
caaaef68b4 Only use Android fullscreen theme for splash screen
(cherry picked from commit d0cb299f04)
2022-06-01 00:29:46 +02:00
Fredy Huya-Kouadio
32ace78a3e Update Meta hand tracking version
https://developer.oculus.com/blog/presence-platforms-hand-tracking-api-gets-an-upgrade/
2022-04-27 21:14:49 -07:00
Fredy Huya-Kouadio
6f2442b17a Cleanup the gradle build configuration
These changes resolve the inconsistency between gradle and scons targets by configuring the gradle buildtypes to match the scons targets.
2022-03-28 08:12:55 -07:00
Fredy Huya-Kouadio
cb0b2aefc3 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 07:54:10 -07:00
Fredia Huya-Kouadio
b8178a7f0a Setup logic to publish the Godot Android library to MavenCentral
(cherry picked from commit a2bf47de2b)
2022-03-17 14:45:19 +01:00
Fredia Huya-Kouadio
5deeb38a70 Fix XR Android manifest metadata
- Adds the parameters for supported Meta devices, which is required to access some device specific capabilities
- Remove the 'com.samsung.android.vr.application.mode' metadata when we're not using the VrApi plugin
2022-01-26 08:58:47 -08:00
Rémi Verschelde
a627cdafc5
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-13 15:54:13 +01:00
Rémi Verschelde
45aac0b9e9
Merge pull request #55768 from m4gr3d/config_hand_tracking_frequency_3x 2021-12-09 23:05:06 +01:00
Fredia Huya-Kouadio
4f6ce8a7ba
Enable configuration of the android:excludeFromRecents activity attribute.
(cherry picked from commit cfa81ff32a)
2021-12-09 23:03:19 +01:00
ne0fhyk
9d22ad3c9b Add support for configuring the xr hand tracking frequency mode 2021-12-09 12:26:06 -08:00
Fredia Huya-Kouadio
65cfa28cce Add configs to specify the min and target sdk versions. 2021-12-08 09:06:09 -08:00
Fredia Huya-Kouadio
724ef83971 Add default minSdkVersion and targetSdkVersion in the AndroidManifest.xml file 2021-11-03 21:49:22 -07:00
Marcel Admiraal
fd942cd465
Upgrade Android Gradle to version 7.2
(cherry picked from commit 95b1275197)
2021-10-15 12:51:43 +02:00
Marcel Admiraal
cce7e6c9d6
Use current androidx Fragment library instead of legacy libraries
(cherry picked from commit 23311a6ed3)
2021-09-19 11:37:19 +02:00
ne0fhyk
35a98d305b Add support for Play Asset Delivery.
This only adds support for a subset of Play Asset Delivery: this causes a single install-time asset pack to always be present, but doesn't add support for dynamically downloaded asset packs.
2021-09-15 06:02:53 -07:00
Fredia Huya-Kouadio
5b8d7752b5 Update Oculus vr configs and add support for accessing Oculus OpenXR runtime 2021-08-27 11:16:20 -07:00
ne0fhyk
c88d1608ab 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-13 11:04:17 -07:00
Fredia Huya-Kouadio
336c630f51 Add support for prompting the user to retain app data on uninstall.
Supported on Android 10 and higher.
2021-08-12 22:06:13 -07:00
ne0fhyk
d1fdb60ee2 Disable resource optimizations for release builds as it breaks the legacy build system. 2021-07-20 16:36:00 -07:00
Rémi Verschelde
46c68c0fb9
Android: Fix truncated application attributes after #50028 cherry-pick
The `android:icon` attribute is expected to be the last one in the application
definition, as documented by the comment. cd64bcd missed that and caused some
arguments to be truncated.

Fixes #50224.
2021-07-07 00:49:07 +02:00
Rémi Verschelde
cd64bcdae5
Android: Add isGame application attribute, default to true
It can be turned off in the export preset with `package/classify_as_game`.

Upstream definition: https://developer.android.com/guide/topics/manifest/application-element#isGame

> `android:isGame`
>
> Whether or not the application is a game. The system may group together
> applications classifed as games or display them separately from other
> applications.

Also fixes replacing `android:allowBackup` in custom builds.

(cherry picked from commit 40a594c6ea)
2021-07-06 11:10:45 +02:00
ne0fhyk
c952201d97
Update config versions and deprecate the use of the jcenter maven repo.
(cherry picked from commit d1a9363c4c)
2021-06-29 14:02:22 +02:00
ne0fhyk
d5b4045ea4 Add support for custom debug keystore. 2021-06-21 10:03:58 -07:00
Rémi Verschelde
b5e1e05ef2
Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
Rémi Verschelde
3f5c106e64
Merge pull request #48276 from thebestnom/cherrypick/allow-build-android-with-symbols 2021-04-29 21:15:42 +02:00
Rémi Verschelde
1489b814aa
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.

(cherry picked from commit d88e1f04df)
2021-04-29 12:28:51 +02:00
thebestnom
fd7141fc03 [Android] Allow to build dev template with symbols 2021-04-28 22:00:25 +03:00
Fredia Huya-Kouadio
bc68872e2d Disable the requestLegacyExternalStorage attribute when there are no storage permissions. 2021-04-16 07:26:24 -07:00
Fredia Huya-Kouadio
158c848ac5 Fix custom boot splash image scaling. 2021-04-12 16:39:32 -07:00
Fredia Huya-Kouadio
864f4201b9
Enable doNotStrip when doing development/debugging within Android Studio
(cherry picked from commit 4380004176)
2021-03-17 15:17:02 +01:00
Fredia Huya-Kouadio
c5fb32d594 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 09:09:40 -08:00
Fredia Huya-Kouadio
9fb5215db5 Add logic to record the version of the Godot engine for the Android platform.
(cherry picked from commit bc5120eb97)
2021-02-25 15:14:32 +01:00
Fredia Huya-Kouadio
ef9d945e16 Disable engine splash logic on Android; this is now handled by the Android theme api.
In addition, add support for scaling and applying filter to the splash screen on Android.
One limitation of the api being used is that the splash screen aspect ratio is not maintained when it's scaled up.
2021-02-18 03:17:58 -08:00
Fredia Huya-Kouadio
1557bc8396
Revert AGP to version 4.0.1 as a workaround to https://issuetracker.google.com/issues/171235570 in version 4.1.x
(cherry picked from commit e5311f3523)
2021-02-18 10:37:28 +01:00