From d85dbee766749fc77ab8d0c3a4c81b9fc3f9e504 Mon Sep 17 00:00:00 2001 From: Fredia Huya-Kouadio Date: Mon, 1 Dec 2025 02:08:29 -0800 Subject: [PATCH] Fix apk install after gradle build for the Android editor --- platform/android/export/android_editor_gradle_runner.cpp | 9 ++++++++- platform/android/export/android_editor_gradle_runner.h | 3 ++- platform/android/export/export_plugin.cpp | 1 + 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/platform/android/export/android_editor_gradle_runner.cpp b/platform/android/export/android_editor_gradle_runner.cpp index 5a8e9224c1a..0ee0e67a9d6 100644 --- a/platform/android/export/android_editor_gradle_runner.cpp +++ b/platform/android/export/android_editor_gradle_runner.cpp @@ -32,15 +32,17 @@ #include "android_editor_gradle_runner.h" #include "editor/editor_interface.h" +#include "editor/settings/editor_settings.h" #include "scene/gui/dialogs.h" #include "scene/gui/rich_text_label.h" #include "../java_godot_wrapper.h" #include "../os_android.h" -void AndroidEditorGradleRunner::run_gradle(const String &p_project_path, const String &p_build_path, const List &p_gradle_build_args, const List &p_gradle_copy_args) { +void AndroidEditorGradleRunner::run_gradle(const String &p_project_path, const String &p_build_path, const String &p_output_path, const List &p_gradle_build_args, const List &p_gradle_copy_args) { project_path = p_project_path; build_path = p_build_path; + output_path = p_output_path; gradle_build_args = p_gradle_build_args; gradle_copy_args = p_gradle_copy_args; @@ -151,6 +153,11 @@ void AndroidEditorGradleRunner::_android_gradle_build_clean_project(bool p_was_s if (p_was_successful) { output_dialog->hide(); + + bool prompt_apk_install = EDITOR_GET("export/android/install_exported_apk"); + if (prompt_apk_install) { + OS_Android::get_singleton()->shell_open(output_path); + } } else { output_dialog->get_ok_button()->set_disabled(false); } diff --git a/platform/android/export/android_editor_gradle_runner.h b/platform/android/export/android_editor_gradle_runner.h index 21334eb4c45..502bf094ca7 100644 --- a/platform/android/export/android_editor_gradle_runner.h +++ b/platform/android/export/android_editor_gradle_runner.h @@ -52,6 +52,7 @@ class AndroidEditorGradleRunner : public Object { String project_path; String build_path; + String output_path; List gradle_build_args; List gradle_copy_args; int64_t job_id; @@ -70,7 +71,7 @@ class AndroidEditorGradleRunner : public Object { void _android_gradle_build_cancel(); public: - void run_gradle(const String &p_project_path, const String &p_build_path, const List &p_gradle_build_args, const List &p_gradle_copy_args); + void run_gradle(const String &p_project_path, const String &p_build_path, const String &p_output_path, const List &p_gradle_build_args, const List &p_gradle_copy_args); }; #endif // ANDROID_ENABLED diff --git a/platform/android/export/export_plugin.cpp b/platform/android/export/export_plugin.cpp index 8c4c94885fd..98882fa6036 100644 --- a/platform/android/export/export_plugin.cpp +++ b/platform/android/export/export_plugin.cpp @@ -3954,6 +3954,7 @@ Error EditorExportPlatformAndroid::export_project_helper(const Refrun_gradle( project_path, build_path.substr(project_path.length()), + export_path.path_join(export_filename), cmdline, copy_args); #else