Commit Graph

45 Commits

Author SHA1 Message Date
Fredia Huya-Kouadio ff15e2384a 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.

(cherry picked from commit a5fdc95515)
2023-03-30 19:13:18 +02:00
Fredia Huya-Kouadio 2aba13e8fb Updating the minimum Android target api for proper Vulkan support 2022-11-30 11:16:59 -08:00
Fredia Huya-Kouadio 151233b702 Upgrade Android gradle plugin to version 7.2.1 2022-11-10 16:35:50 -08:00
Fredia Huya-Kouadio 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
Fredia Huya-Kouadio 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
Marcel Admiraal 48efd563e4 Upgrade Android NDK to r23 LTS 2022-06-25 14:58:30 +01:00
Gustavo Maciel 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
Rémi Verschelde 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
Marcel Admiraal b19bbadcf0 Ensure Android Java and Kotlin compile to the same version 2022-06-01 16:23:44 +01:00
Fredia Huya-Kouadio 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
Fredy Huya-Kouadio 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
Fredia Huya-Kouadio a2bf47de2b Setup logic to publish the Godot Android library to MavenCentral 2022-03-14 14:53:39 -07:00
Fredia Huya-Kouadio 2e7e6502dd Add configs to specify the min and target sdk versions. 2021-12-08 09:13:07 -08:00
Fredia Huya-Kouadio bd3d99ca8a Add default `minSdkVersion` and `targetSdkVersion` in the AndroidManifest.xml file 2021-11-03 21:54:19 -07:00
Marcel Admiraal 95b1275197 Upgrade Android Gradle to version 7.2 2021-10-14 16:19:00 +01:00
Marcel Admiraal 23311a6ed3 Use current androidx Fragment library instead of legacy libraries 2021-09-08 10:17:26 +01:00
ne0fhyk 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
ne0fhyk d1a9363c4c Update config versions and deprecate the use of the jcenter maven repo. 2021-06-24 08:58:56 -07:00
ne0fhyk 532b0e3462 Add support for custom debug keystore. 2021-06-22 10:05:55 -07:00
Rémi Verschelde 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
thebestnom e598acff3a Allow to build dev template with symbols 2021-04-14 00:14:57 +03:00
Fredia Huya-Kouadio 4380004176 Enable `doNotStrip` when doing development/debugging within Android Studio 2021-03-16 17:21:00 -07:00
Fredia Huya-Kouadio 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
Fredia Huya-Kouadio bc5120eb97 Add logic to record the version of the Godot engine for the Android platform. 2021-02-24 04:23:46 -08:00
Fredia Huya-Kouadio 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
Rémi Verschelde 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
Fredia Huya-Kouadio 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
Fredia Huya-Kouadio 918b218b55 Update gradle build files to automatically perform signing and zipalign tasks for custom builds. 2020-11-22 18:11:54 -08:00
Fredia Huya-Kouadio edf762fba6 Add a separate `nativeSrcsConfigs` module to handle Android Studio constraints for native code editor support. 2020-10-29 00:01:14 -07:00
Fredia Huya-Kouadio aff7cf4390 Update the gradle plugins 2020-10-28 23:59:33 -07:00
Aman Jain 2b89944a3d Add 'Export App Bundle' to Android Export Options 2020-08-05 12:55:02 -04:00
Aman Jain e53067c42e Write an AndroidManifest.xml file to be merged with app module's manifest. 2020-07-24 12:53:27 -04:00
Fredia Huya-Kouadio c948d25b6e Validate that `Use Custom Build` is enabled when `Plugins` are selected
Remove `GodotPayment` from the default build template
2020-05-27 12:07:53 -07:00
Fredia Huya-Kouadio 14e6696c8e Implementation of the Godot Android Plugin configuration file 2020-05-17 11:11:26 -07:00
thebestnom d0ced7a481 Android: Migrate deprecated support library to AndroidX 2020-05-10 19:03:44 +03:00
Rémi Verschelde ca896ddbf0 Android: Bump build tools to 29.0.3 2020-04-14 13:47:13 +02:00
Rémi Verschelde ba2ec53a26 Android: Downgrade gradle plugin to 3.5.3
With the NDK installed locally, gradle plugin 3.6.0 seems to enforce
a specific older NDK version, and will fail building if you don't have
it installed with:

```
No version of NDK matched the requested version 20.0.5594570.
Versions available locally: 21.0.6113669
```

Upstream issue: https://github.com/gradle/gradle/issues/12440
2020-04-02 23:16:54 +02:00
fhuya 7dea2ad1de Trim the whitespace around the plugins names. 2020-03-06 17:22:04 -08:00
fhuya f097defba1 Re-architecture of the Godot Android plugin. 2020-03-05 10:00:19 -08:00
fhuya c090caa58b Provides a base implementation of the Vulkan surface view (VkSurfaceView.kt) and its accompanying components.
The implementation is meant to be extended and updated in order to integrate it with the existing Godot java and native codebase.
2020-03-05 08:01:42 -08:00
fhuya b38283a6b7 Miscellaneous cleanup for the Android codebase:
- update gradle plugins versions
- add formatting rules for AndroidManifest and gradle build files
- cleanup java_godot_lib_jni

Note: logic was mostly moved around and no new logic/functionality was added.
2020-03-04 12:16:17 -08:00
fhuya 9bd841b86d Address crash caused by missing dependency. 2020-01-27 10:45:25 -08:00
fhuya e41caac7db Address crash caused by missing dependency. 2020-01-27 10:26:01 -08:00
fhuya 50ab6decfe Replace the android.defaultConfig.applicationId in build.gradle with the package/unique_name. 2019-12-30 10:33:48 -05:00
fhuya 7fabfd402f Split the Android platform java logic into an Android library module (`lib`) and an application module (`app`).
The application module `app` serves double duties of providing the prebuilt Godot binaries ('android_debug.apk', 'android_release.apk') and the Godot custom build template ('android_source.zip').
2019-09-04 16:20:22 -07:00