From e3d60bbd0c10a4fa6e59d3f74038501a91b51e2c Mon Sep 17 00:00:00 2001 From: Fredia Huya-Kouadio Date: Tue, 13 May 2025 08:48:03 -0700 Subject: [PATCH] Remove the option to compress Android native libraries Follow-up to https://github.com/godotengine/godot/pull/106358, this is a separate commit / PR since it shouldn't be cherry-picked in previous releases as it removes existing functionality. Support for 16kb page size added in the previous PR requires the native libraries to be uncompressed, so we're deprecating and removing the option to compress native libraries. See https://developer.android.com/guide/practices/page-sizes#agp_version_851_or_higher for more details. --- .../EditorExportPlatformAndroid.xml | 4 ---- platform/android/export/export_plugin.cpp | 8 -------- platform/android/java/app/build.gradle | 8 -------- platform/android/java/app/config.gradle | 18 ------------------ 4 files changed, 38 deletions(-) diff --git a/platform/android/doc_classes/EditorExportPlatformAndroid.xml b/platform/android/doc_classes/EditorExportPlatformAndroid.xml index 5ca5be44740..66ec7c042ec 100644 --- a/platform/android/doc_classes/EditorExportPlatformAndroid.xml +++ b/platform/android/doc_classes/EditorExportPlatformAndroid.xml @@ -52,10 +52,6 @@ Path to a ZIP file holding the source for the export template used in a Gradle build. If left empty, the default template is used. - - If [code]true[/code], native libraries are compressed when performing a Gradle build. - [b]Note:[/b] Although your binary may be smaller, your application may load slower because the native libraries are not loaded directly from the binary at runtime. - Application export format (*.apk or *.aab). diff --git a/platform/android/export/export_plugin.cpp b/platform/android/export/export_plugin.cpp index ab32481381b..caae2300769 100644 --- a/platform/android/export/export_plugin.cpp +++ b/platform/android/export/export_plugin.cpp @@ -1950,11 +1950,6 @@ String EditorExportPlatformAndroid::get_export_option_warning(const EditorExport if (!enabled_deprecated_plugins_names.is_empty() && !gradle_build_enabled) { return TTR("\"Use Gradle Build\" must be enabled to use the plugins."); } - } else if (p_name == "gradle_build/compress_native_libraries") { - bool gradle_build_enabled = p_preset->get("gradle_build/use_gradle_build"); - if (bool(p_preset->get("gradle_build/compress_native_libraries")) && !gradle_build_enabled) { - return TTR("\"Compress Native Libraries\" is only valid when \"Use Gradle Build\" is enabled."); - } } else if (p_name == "gradle_build/export_format") { bool gradle_build_enabled = p_preset->get("gradle_build/use_gradle_build"); if (int(p_preset->get("gradle_build/export_format")) == EXPORT_FORMAT_AAB && !gradle_build_enabled) { @@ -2026,7 +2021,6 @@ void EditorExportPlatformAndroid::get_export_options(List *r_optio r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "gradle_build/use_gradle_build"), false, true, true)); r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "gradle_build/gradle_build_directory", PROPERTY_HINT_PLACEHOLDER_TEXT, "res://android"), "", false, false)); r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "gradle_build/android_source_template", PROPERTY_HINT_GLOBAL_FILE, "*.zip"), "")); - r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "gradle_build/compress_native_libraries"), false, false, true)); r_options->push_back(ExportOption(PropertyInfo(Variant::INT, "gradle_build/export_format", PROPERTY_HINT_ENUM, "Export APK,Export AAB"), EXPORT_FORMAT_APK, false, true)); // Using String instead of int to default to an empty string (no override) with placeholder for instructions (see GH-62465). // This implies doing validation that the string is a proper int. @@ -3500,7 +3494,6 @@ Error EditorExportPlatformAndroid::export_project_helper(const Refget("gradle_build/compress_native_libraries")) ? "true" : "false"; Vector android_libraries; Vector android_dependencies; @@ -3575,7 +3568,6 @@ Error EditorExportPlatformAndroid::export_project_helper(const Ref - int minSdk = getExportMinSdkVersion() - String legacyPackagingFlag = project.hasProperty("compress_native_libraries") ? project.property("compress_native_libraries") : "" - if (legacyPackagingFlag != null && !legacyPackagingFlag.isEmpty()) { - return Boolean.parseBoolean(legacyPackagingFlag) - } - - // Default behavior for minSdk >= 24 - return false -} - ext.getAddonsDirectory = { -> String addonsDirectory = project.hasProperty("addons_directory") ? project.property("addons_directory") : "" return addonsDirectory