summaryrefslogtreecommitdiffstats
path: root/platform/android/export/export_plugin.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Update Android dependencies for the projectFredia Huya-Kouadio2024-01-181-1/+1
| | | | | | | | | | - 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
* Merge pull request #86383 from m4gr3d/editor_export_specify_java_sdk_path_mainYuri Sizov2024-01-181-4/+50
|\ | | | | | | Specify the path to the Java SDK used for the Android gradle build
| * Specify the path to the Java SDK used for the Android gradle buildFredia Huya-Kouadio2024-01-181-4/+50
| | | | | | | | Introduce an editor setting to allow users the ability to specify the path to the Java SDK used for the Android gradle build.
* | Reorganize code related to editor themingYuri Sizov2024-01-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | This change introduces a new EditorThemeManager class to abstract theme generatio and its subroutines. Logic related to EditorTheme, EditorColorMap, and editor icons has been extracted into their respective files with includes cleaned up. All related files have been moved to a separate folder to better scope them in the project. This includes relevant generated files as well.
* | Add clearer error message for missing project icon during android exportAlex Drozd2024-01-151-1/+5
| |
* | Hide Keystore Release password on Android's Export windowMicky2024-01-061-2/+2
| |
* | Merge pull request #84445 from Rubonnek/add-const-references-clang-tidyRémi Verschelde2024-01-041-1/+1
|\ \ | | | | | | | | | Add const references detected by clang-tidy
| * | Add const references detected by clang-tidyWilson E. Alvarez2023-12-161-1/+1
| |/
* | Merge pull request #83702 from Patchcoat/VerifyKeystoreRémi Verschelde2024-01-041-0/+53
|\ \ | |/ |/| | | Ensure Android keystore username and password are checked on export
| * android keystore username and password are checked on exportPatchcoat2023-11-031-0/+53
| |
* | Merge pull request #85845 from YuriSizov/editor-export-hidden-errorsYuri Sizov2023-12-081-9/+11
|\ \ | | | | | | | | | Ensure more export errors are reported to users
| * | Ensure more export errors are reported to usersYuri Sizov2023-12-061-9/+11
| | | | | | | | | | | | | | | | | | | | | Also fixes the timing issue when exporting all presets at the same time, where the error report would try to appear while the progress dialog was still visible.
* | | Merge pull request #84676 from m4gr3d/update_package_name_validation_logicYuri Sizov2023-12-081-8/+8
|\ \ \ | |/ / |/| | | | | Update the validation logic for the package name
| * | Update the validation logic for the package name:Fredia Huya-Kouadio2023-11-091-8/+8
| | | | | | | | | | | | | | | - When using the project name, allow underscore (`_`) characters - Send a warning instead of an error when the project name is modified to fit the package name format
* | | Preserve the output from the gradle build commandFredia Huya-Kouadio2023-11-121-4/+10
| | | | | | | | | | | | Updates `EditorNode#execute_and_show_output(...)` to return the output of the executed command.
* | | Remove Android specific abis from the export preset feature listFredia Huya-Kouadio2023-11-101-1/+0
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The presence of those abis cause them to be included in the set of `p_features` passed to the `gdextension_export_plugin#_export_file(...)` method, which caused them to be lumped in the `features_wo_arch` set. When trying to find the gdextension library path, we use a predicate with the following logic: ``` [features_wo_arch, arch_tag](String p_feature) { return features_wo_arch.has(p_feature) || (p_feature == arch_tag); } ``` For a `gdextension` config file like the one below, this causes the first android entry (`android.armeabi-v7a = ...`) to always be returned regardless of archs since it always satisfies the predicate. ``` [configuration] entry_symbol = "example_library_init" compatibility_minimum = 4.1 [libraries] linux.x86_64 = "res://libgdexample.so" android.armeabi-v7a = "res://libgdexample.android.template_release.armeabi-v7a.so" android.arm32 = "res://libgdexample.android.template_release.armeabi-v7a.so" android.x86 = "res://x86/libgdexample.android.template_release.x86.so" android.x86_32 = "res://x86/libgdexample.android.template_release.x86.so" android.x86_64 = "res://libgdexample.android.template_release.x86_64.so" android.arm64-v8a = "res://libgdexample.android.template_release.arm64-v8a.so" android.arm64 = "res://libgdexample.android.template_release.arm64-v8a.so" ```
* | Fix Andorid disabling splash screen Show Imagescgm02023-11-071-15/+22
| |
* | C#: Add checks to Android exportRaul Santos2023-10-101-0/+13
| | | | | | | | | | - Add .NET 7.0 TFM when the platform is Anroid to the created csproj. - Prevent exporting to Android when the architecture is not supported.
* | Add error checks for DirAccess creation.Saracen2023-09-261-0/+4
|/
* Change the default org.godotengine to com.exampleAdam Scott2023-09-111-1/+1
|
* Android: Add option to always use WiFi to connect to remote debugBrennen Shaughnessy2023-08-281-2/+6
|
* Add a button in the export dialog to fix missing texture formatsAaron Franke2023-08-171-3/+2
|
* Merge pull request #80569 from m4gr3d/show_in_app_library_settings_mainRémi Verschelde2023-08-161-0/+1
|\ | | | | | | Add export setting to control whether to show the Godot app in the app library
| * Add export setting to control whether to show the Godot app in the app libraryFredia Huya-Kouadio2023-08-131-0/+1
| |
* | C#: Fix exporting for Androidscgm02023-08-121-8/+5
|/
* Add a "version" project setting and use it in new export presetsHugo Locurcio2023-08-041-5/+5
| | | | | | | | | | This makes it easy to retrieve the project version at runtime for display purposes, while simplifying the export preset configuration. You can now leave the version empty unless you need to override it on a per-preset basis. Since export presets save the values of default values to the `export_presets.cfg` file, this change only affects export presets created after this commit was merged.
* Merge pull request #79351 from Repiteo/dotnet-handle-warningsYuri Sizov2023-07-261-8/+8
|\ | | | | | | C#: Fix MSVC dotnet builds failing if running `dev_mode`
| * Allow MSVC dev_mode builds to succeed with dotnetThaddeus Crews2023-07-171-8/+8
| | | | | | | | • Added #else section to mono #ifdef checks in relevant export_plugin scripts
* | Clean up the XR features parameters from coreFredia Huya-Kouadio2023-07-181-30/+0
| | | | | | | | | | | | Following on the previous commit, the XR features logic have now be moved to the Godot OpenXR loader plugin. See https://github.com/GodotVR/godot_openxr_loaders/pull/38
* | Re-architect how Android plugins are packaged and handled at export timeFredia Huya-Kouadio2023-07-181-26/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous packaging format for Godot Android plugins consisted of the plugin's `gdap` config file accompanied by binaries defined in the `gdap` file. This format is now deprecated (starting with Godot 4.2), and instead Godot Android plugins are now packaged as `EditorExportPlugin` plugins. The `EditorExportPlugin` class has been updated with the following methods to provide the necessary set of functionality: - `_supports_platform`: returns true if the plugin supports the given platform - `_get_android_dependencies`: retrieve the set of android dependencies (e.g: `org.godot.example:my-plugin:0.0.0`) provided by the plugin - `_get_android_dependencies_maven_repos`: retrieve the urls of the maven repos for the provided android dependencies - `_get_android_libraries`: retrieve the local paths of the android libraries (AAR files) provided by the plugin - `_get_android_manifest_activity_element_contents`: update the contents of the `<activity>` element in the generated Android manifest - `_get_android_manifest_application_element_contents`: update the contents of the `<application>` element in the generated Android manifest - `_get_android_manifest_element_contents`: update the contents of the `<manifest>` element in the generated Android manifest
* | Extract and reorganize texture resource classesHendrik Brucker2023-07-141-0/+1
| |
* | Merge pull request #78164 from 0xafbf/allow-export-tv-and-launcherYuri Sizov2023-07-141-0/+2
|\ \ | | | | | | | | | Add options to show icon in Android TV and run app as Android launcher
| * | Add options to show icon in Android TV and run app as Android launcherAndrés Botero2023-06-121-0/+2
| | |
* | | Merge pull request #78248 from felaugmar/load-svg-adjustable-scaleYuri Sizov2023-07-121-3/+2
|\ \ \ | |_|/ |/| | | | | Added `Image::load_svg_from_(buffer|string)`
| * | Added Image's `load_svg_from_(buffer|string)`Felipe Augusto Marques2023-06-231-3/+2
| | | | | | | | | | | | No core dependency to the svg module.
* | | Display a message about missing C# support on Android/iOS/Web platformsHugo Locurcio2023-06-241-1/+9
|/ / | | | | | | | | | | | | When trying to export a C# project, this displays an error message after creating a export preset for an unsupported platform. Support for these platforms is planned for a future release.
* | SCons: Move platform logo/run icon to `export` folderRémi Verschelde2023-06-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Follow-up to #75932. Since these icons are only used by the export plugin, it makes sense to move them and generate the headers there. The whole `detect.is_active()` logic seems to be a leftover from before times, as far back as 1.0-stable it already wasn't used for anything. So I'm removing it and moving the export icon generation to `platform_methods`, where it makes more sense.
* | Allow exporting release Android builds without a debug keystoreMichael Alexsander2023-06-191-5/+6
|/
* Style: Harmonize header includes in platform portsRémi Verschelde2023-06-081-2/+2
| | | | | | | | | | | | | | | | This applies our existing style guide, and adds a new rule to that style guide for modular components such as platform ports and modules: Includes from the platform port or module should be included with relative paths (relative to the root folder of the modular component, e.g. `platform/linuxbsd/`), in their own section before Godot's "core" includes. The `api` and `export` subfolders also need to be handled as self-contained (and thus use relative paths for their "local" includes) as they are all compiled for each editor platform, without necessarily having the api/export matching platform folder in the include path. E.g. the Linux editor build will compile `platform/android/{api,export}/*.cpp` and those need to use relative includes for it to work.
* Enhance icon fallback and their docs for exportersMichael Alexsander2023-06-031-1/+0
|
* Store sensitive export options in dedicated credentials fileAndreas Raddau2023-05-101-24/+24
|
* Redo how the remote filesystem worksJuan Linietsky2023-05-081-1/+5
| | | | | | | | | Instead of reading files over the network, the new version uses a local file cache and only updates files when it changes. The original remote filesystem was created 14 years ago, when ethernet was faster than hard drives or even flash. Also, mobile devices have a very small amount of storage. Nowadays, this is no longer the case so the approach is changed to using a persistent cache in the target device. Co-authored-by: m4gr3d
* Fix thread IDs.Juan Linietsky2023-04-241-1/+3
| | | | | | | | | On Linux, thread IDs were not properly assigned with the current approach. The line: `std::thread new_thread(&Thread::callback, _thread_id_hash(thread.get_id()), p_settings, p_callback, p_user);` does not work because the thread ID is not assigned until the thread starts. This PR changes the behavior to use manually generated thread IDs. Additionally, if a thread is (or may have been created) outside Godot, the method `Thread::attach_external_thread` was added.
* [Export] Add readable descriptions and validation warnings to the export ↵bruvzg2023-04-191-112/+130
| | | | options.
* Bump the target SDK version to 33 (Android 13)Fredia Huya-Kouadio2023-03-211-1/+1
|
* Make vulkan level 1 an optional requirementFredia Huya-Kouadio2023-03-191-1/+1
|
* Add feature check to require min Vulkan api version 1.0 on AndroidFredia Huya-Kouadio2023-02-281-0/+5
|
* Android: Default Min SDK to 24 for Vulkan mobileRémi Verschelde2023-02-151-6/+6
| | | | | | | | | Users can still go down to 21 when using GL Compatibility. This makes the default behavior match the default renderer, and thus avoids a warning in the out of the box experience. Also mark texture compression settings as basic, since out of the box users who want to export to Android will need to enable ETC2/ASTC manually.
* Merge pull request #72552 from m4gr3d/cleanup_custom_build_mainRémi Verschelde2023-02-061-33/+33
|\ | | | | | | Rename Godot's 'custom build' to 'gradle build' to better reflect the underlying build process
| * Rename Godot's 'custom build' to 'gradle build' to better reflect the ↵Fredia Huya-Kouadio2023-02-021-33/+33
| | | | | | | | underlying build process.